From f5bec22436b4e492395ed1b8188b501e30997f2c Mon Sep 17 00:00:00 2001 From: kytv Date: Wed, 5 Jun 2013 10:00:16 +0000 Subject: [PATCH] updates from tx --- .../translations/de/LC_MESSAGES/messages.po | 26571 ++++++++++++++- .../translations/es/LC_MESSAGES/messages.po | 4562 ++- .../translations/fr/LC_MESSAGES/messages.po | 27694 +++++++++++++++- .../translations/sv/LC_MESSAGES/messages.po | 618 +- 4 files changed, 56937 insertions(+), 2508 deletions(-) diff --git a/i2p2www/translations/de/LC_MESSAGES/messages.po b/i2p2www/translations/de/LC_MESSAGES/messages.po index f5bec46b..4f183127 100644 --- a/i2p2www/translations/de/LC_MESSAGES/messages.po +++ b/i2p2www/translations/de/LC_MESSAGES/messages.po @@ -1,29 +1,513 @@ -# German translations for I2P website. -# Copyright (C) 2008 I2P -# This file is distributed under the same license as the I2P website -# project. -# amiga4000 , 2008. +# German translations for I2P. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the I2P project. # +# Translators: +# amiga4000 , 2008 +# SteinQuadrat , 2013 +# zeroflag , 2013 msgid "" msgstr "" -"Project-Id-Version: I2P website\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-01-18 11:24+0000\n" -"PO-Revision-Date: 2013-01-19 00:47+1200\n" -"Last-Translator: echelon \n" -"Language-Team: de \n" +"Project-Id-Version: I2P\n" +"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" +"POT-Creation-Date: 2013-02-22 13:25+0000\n" +"PO-Revision-Date: 2013-05-24 22:08+0000\n" +"Last-Translator: SteinQuadrat \n" +"Language-Team: German " +"(http://www.transifex.com/projects/p/I2P/language/de/)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: 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 +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 +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 +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 +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 +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 +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 "" +"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." +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." +msgstr "" +"Wie üblich gibt es in diesem Release eine Menge Bug Fixes. Deswegen " +"empfehlen wir eine Aktualisierung." + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26 +msgid "" +"SSU: Fix several problems in our UDP transport, to improve efficiency and" +" reliability for connection setup. Also improve defenses against various " +"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 "" +"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." +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 "" +"Fix various issues affecting memory usage and performance on high-" +"bandwidth routers" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35 +msgid "Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36 +msgid "Fix i2psnark bug that prevented a completion announcement to the tracker" +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 +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 "" +"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." + +#: 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 " +"behind firewalls that change UDP ports; additional defenses for malicious" +" packets." +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 "" +"Fix streaming connection timeout back to 1 minute, was inadvertently " +"changed to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was" +" unlimited" +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 "" +"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." +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13 +msgid "" +"We fixed several bugs in the i2psnark DHT implementation that was " +"introduced\n" +"last release. For those of you using console or http proxy passwords,\n" +"we converted to the more-secure digest method and improved the security " +"for console forms." +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19 +msgid "" +"For those of you already running development builds, your router should " +"automatically\n" +"update to 0.9.4-0 using the new in-network torrent facility.\n" +"For those running 0.9.3-0, you will update normally using in-network " +"HTTP, and\n" +"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 "" +"Fix major bug that reduced SSU connection limits which reduced tunnel " +"build success rates" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42 +msgid "Fix bug with external I2CP that prevented some external apps from working" +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 "" +"More performance improvements, memory reduction, and object churn " +"reduction" +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 "" +"Convert http proxy and console from basic to digest authentication for " +"added security" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58 +msgid "" +"Improved verification of console form submissions, using jsp sessions. " +"Cookies may now be required on forms, except when the console password is" +" enabled" +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 "" +"Translation updates: Chinese, French, German, Italian, Polish, " +"Portuguese, Swedish, and Ukrainian" +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 "" + +#: 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 "" + #: i2p2www/pages/blog/index.html:2 msgid "Blog Index" msgstr "" -#: i2p2www/pages/blog/index.html:4 -#: i2p2www/pages/site/index.html:75 +#: i2p2www/pages/blog/index.html:4 i2p2www/pages/site/index.html:75 msgid "I2P Blog ATOM Feed" msgstr "" @@ -31,11 +515,6 @@ msgstr "" msgid "More blog posts…" msgstr "" -#: i2p2www/pages/blog/post.html:2 -#: i2p2www/pages/global/nav.html:92 -msgid "Blog" -msgstr "" - #: i2p2www/pages/downloads/debian.html:4 msgid "Debian I2P Packages" msgstr "" @@ -43,7 +522,8 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:6 #, python-format msgid "" -"The packages hosted on the I2P Launchpad site\n" +"The packages hosted on the I2P Launchpad site\n" "have been tested and should work on x86/x86_64 platforms running:" msgstr "" @@ -52,31 +532,42 @@ msgid "Ubuntu (Hardy 8.04 and newer)" msgstr "" #: i2p2www/pages/downloads/debian.html:13 -msgid "Debian Linux (Lenny and newer) & kFreeBSD (Wheezy)" +msgid "" +"Debian Linux (Lenny and newer) & kFreeBSD (Wheezy)" msgstr "" #: i2p2www/pages/downloads/debian.html:21 #, python-format msgid "" -"The I2P packages may work on systems not listed above. Please report any issues\n" +"The I2P packages may work on systems not listed above. Please " +"report any issues\n" "with these packages on Trac at\n" "http://%(trac)s." msgstr "" #: i2p2www/pages/downloads/debian.html:27 -msgid "Option 1: Recent versions of Ubuntu and its derivatives (Try this if you're not using Debian)" +msgid "" +"Option 1: Recent versions of Ubuntu and its " +"derivatives (Try this if you're not using Debian)" msgstr "" #: i2p2www/pages/downloads/debian.html:28 -msgid "Option 2: Debian (including systems based on Debian and older versions of Ubuntu)" +msgid "" +"Option 2: Debian (including systems based on " +"Debian and older versions of Ubuntu)" msgstr "" #: i2p2www/pages/downloads/debian.html:29 -msgid "Option 3: Non-Linux (and possibly Non-x86 architectures)" +msgid "" +"Option 3: Non-Linux (and possibly Non-x86 " +"architectures)" msgstr "" #: i2p2www/pages/downloads/debian.html:32 -msgid "Instructions for Ubuntu Lucid Lynx (and newer) and derivatives like Linux Mint & Trisquel" +msgid "" +"Instructions for Ubuntu Lucid Lynx (and newer) and derivatives like Linux" +" Mint & Trisquel" msgstr "" #: i2p2www/pages/downloads/debian.html:33 @@ -85,7 +576,7 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:36 msgid "Open a terminal and enter:" -msgstr "" +msgstr "Öffne eine Konsole und gib ein:" #: i2p2www/pages/downloads/debian.html:38 msgid "" @@ -109,37 +600,51 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:118 #: i2p2www/pages/downloads/debian.html:141 msgid "You are now ready to install I2P!" -msgstr "" +msgstr "Sie/Du bist nun bereit I2P zu installieren!" #: i2p2www/pages/downloads/debian.html:57 msgid "Adding the PPA Using Synaptic" msgstr "" #: i2p2www/pages/downloads/debian.html:60 -msgid "Open Synaptic (System -> Administration -> Synaptic Package Manager)." +msgid "" +"Open Synaptic (System -> Administration -> Synaptic Package " +"Manager)." msgstr "" #: i2p2www/pages/downloads/debian.html:65 -msgid "Once Synaptic opens, select Repositories from the Settings menu." +msgid "" +"Once Synaptic opens, select Repositories from the " +"Settings menu." msgstr "" #: i2p2www/pages/downloads/debian.html:70 -msgid "Click the Other Sources tab and click Add. Paste ppa:i2p-maintainers/i2p into the APT-line field and click Add Source. Click the Close button then Reload." +msgid "" +"Click the Other Sources tab and click Add. Paste " +"ppa:i2p-maintainers/i2p into the APT-line field and click " +"Add Source. Click the Close button then " +"Reload." msgstr "" #: i2p2www/pages/downloads/debian.html:75 -msgid "In the Quick Filter box, type in i2p and press enter. When i2p is returned in the results list, right click i2p and select Mark for Installation. After doing so you may see a Mark additional required changes? popup. If so, click Mark then Apply." +msgid "" +"In the Quick Filter box, type in i2p and press enter. When " +"i2p is returned in the results list, right click " +"i2p and select Mark for Installation. After doing " +"so you may see a Mark additional required changes? popup. If so," +" click Mark then Apply." msgstr "" #: i2p2www/pages/downloads/debian.html:81 msgid "" "After the installation process completes you can move on to the next\n" -"part of starting I2P and configuring it for your system." +"part of starting I2P and configuring " +"it for your system." msgstr "" #: i2p2www/pages/downloads/debian.html:86 msgid "Instructions for Debian Lenny and newer" -msgstr "" +msgstr "Anleitungen für Debian Lenny und Neuere:" #: i2p2www/pages/downloads/debian.html:88 msgid "" @@ -156,7 +661,9 @@ msgid "You'll have output like the following if the command was successful:" msgstr "" #: i2p2www/pages/downloads/debian.html:100 -msgid "For Debian Oldstable (Lenny) and Stable (Squeeze): Add the following entries to /etc/apt/sources.list.d/i2p.list" +msgid "" +"For Debian Oldstable (Lenny) and Stable (Squeeze): Add the following " +"entries to /etc/apt/sources.list.d/i2p.list" msgstr "" #: i2p2www/pages/downloads/debian.html:104 @@ -176,7 +683,10 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:122 #: i2p2www/pages/downloads/debian.html:151 -msgid "After the installation process completes you can move on to the next part of starting I2P and configuring it for your system." +msgid "" +"After the installation process completes you can move on to the next part" +" of starting I2P and configuring it " +"for your system." msgstr "" #: i2p2www/pages/downloads/debian.html:126 @@ -186,24 +696,34 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:128 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\")." +"user to root with \"su\" or by prefixing each command with " +"\"sudo\")." msgstr "" #: i2p2www/pages/downloads/debian.html:134 -msgid "Download the i2p-router package from the PPA." +msgid "" +"Download the i2p-router package from the" +" PPA." msgstr "" #: i2p2www/pages/downloads/debian.html:139 -msgid "Make sure that you have Java installed. Running apt-get install default-jre should be sufficient." +msgid "" +"Make sure that you have Java installed. Running apt-get install" +" default-jre should be sufficient." msgstr "" #: i2p2www/pages/downloads/debian.html:145 #, python-format -msgid "It is recommended to compile jbigi for your system to achieve better performance. Instructions are available here." +msgid "" +"It is recommended to compile jbigi for your " +"system to achieve better performance. Instructions are available here." msgstr "" #: i2p2www/pages/downloads/debian.html:155 -#: i2p2www/pages/downloads/list.html:163 +#: i2p2www/pages/downloads/list.html:165 msgid "Post-install work" msgstr "" @@ -215,15 +735,19 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:164 msgid "" -""on demand" using the i2prouter script. Simply run "i2prouter\n" -"start" from a command prompt. (Note: Do not use\n" +""on demand" using the i2prouter script. Simply run " +""i2prouter\n" +"start" from a command prompt. (Note: Do " +"not use\n" "sudo or run it as root!)" msgstr "" #: i2p2www/pages/downloads/debian.html:171 msgid "" -""on demand" without the java service wrapper\n" -"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper\".\n" +""on demand" without the java service wrapper\n" +"(needed on non-Linux/non-x86 systems) by running \"i2prouter-" +"nowrapper\".\n" "(Note: Do not\n" "use sudo or run it as root!)" msgstr "" @@ -231,33 +755,42 @@ msgstr "" #: i2p2www/pages/downloads/debian.html:179 msgid "" "as a service that automatically runs when your system boots, even\n" -"before logging in. The service can be enabled with \"dpkg-reconfigure\n" -"i2p\" as root or using sudo. This is the recommended means of operation." +"before logging in. The service can be enabled with \"dpkg-" +"reconfigure\n" +"i2p\" as root or using sudo. This is the recommended means of " +"operation." msgstr "" #: i2p2www/pages/downloads/debian.html:187 msgid "" -"When installing for the first time, please remember to adjust your NAT/firewall\n" -"if you can. The ports to forward can be found on the \n" -"network configuration page in the router console. If guidance with respect to forwarding ports is needed,\n" -"you may portforward.com to be helpful." +"When installing for the first time, please remember to adjust your " +"NAT/firewall\n" +"if you can. The ports to forward can be found on the \n" +"network configuration page in the router console. If guidance with " +"respect to forwarding ports is needed,\n" +"you may find portforward.com to be" +" helpful." msgstr "" #: i2p2www/pages/downloads/debian.html:194 msgid "" "Please review and adjust the bandwidth settings on the\n" "configuration page,\n" -"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative." +"as the default settings of 96 KB/s down / 40 KB/s up are fairly " +"conservative." msgstr "" #: i2p2www/pages/downloads/debian.html:200 -#: i2p2www/pages/downloads/list.html:196 +#: i2p2www/pages/downloads/list.html:198 #, python-format -msgid "If you want to reach eepsites via your browser, have a look on the browser proxy setup page for an easy howto." +msgid "" +"If you want to reach eepsites via your browser, have a look on the browser proxy setup page for an easy " +"howto." msgstr "" -#: i2p2www/pages/downloads/list.html:2 -#: i2p2www/pages/downloads/select.html:12 +#: i2p2www/pages/downloads/list.html:2 i2p2www/pages/downloads/select.html:12 #: i2p2www/pages/global/nav.html:3 msgid "Download" msgstr "" @@ -268,253 +801,288 @@ msgstr "" #: i2p2www/pages/downloads/list.html:6 msgid "Dependency" -msgstr "" +msgstr "Abhängigkeit" #: i2p2www/pages/downloads/list.html:7 +#, python-format msgid "" "\n" "Java Runtime 1.5 or higher.\n" -"(Oracle/Sun Java Version 6,\n" -"OpenJDK 6, or\n" -"IcedTea6\n" +"(Oracle/Sun Java Version 6,\n" +"OpenJDK 6, or\n" +"IcedTea6\n" " recommended)\n" "
\n" -"Determine your installed Java version here\n" +"Determine" +" your installed Java version here\n" "or type java -version at your command prompt.\n" msgstr "" -#: i2p2www/pages/downloads/list.html:18 +#: i2p2www/pages/downloads/list.html:20 msgid "Clean installs" msgstr "" -#: i2p2www/pages/downloads/list.html:32 +#: i2p2www/pages/downloads/list.html:34 msgid "Download that file and run it." -msgstr "" +msgstr "Lade die Datei herunter und führe sie aus." -#: i2p2www/pages/downloads/list.html:49 +#: i2p2www/pages/downloads/list.html:51 msgid "" "Download that file and double-click it (if that works) or\n" -" type java -jar i2pinstall_0.9.4-1_osx.jar in a terminal to run the\n" +" type java -jar i2pinstall_0.9.4-1_osx.jar in a terminal " +"to run the\n" " installer.\n" " You may be able to right-click and select\n" " "Open with Java"." msgstr "" -#: i2p2www/pages/downloads/list.html:57 +#: i2p2www/pages/downloads/list.html:59 #, python-format msgid "" "Due to a wrapper bug, the 0.9.4 installer\n" -" will NOT work on OS X. Use the fixed 0.9.4-1 OSX installer above." +" will NOT work on OS X. Use the fixed 0.9.4-1 OSX installer " +"above." msgstr "" -#: i2p2www/pages/downloads/list.html:63 -#: i2p2www/pages/downloads/list.html:90 +#: i2p2www/pages/downloads/list.html:65 i2p2www/pages/downloads/list.html:92 msgid "Command line (headless) install:" msgstr "" -#: i2p2www/pages/downloads/list.html:64 +#: i2p2www/pages/downloads/list.html:66 msgid "" "Download the 0.9.4-1 OSX graphical installer file above and\n" -" run java -jar i2pinstall_0.9.4-1_osx.jar -console from the command line." +" run java -jar i2pinstall_0.9.4-1_osx.jar -console from " +"the command line." msgstr "" -#: i2p2www/pages/downloads/list.html:82 +#: i2p2www/pages/downloads/list.html:84 #, python-format msgid "" "Download that file and double-click it (if that works) or\n" -" type java -jar i2pinstall_%(i2pversion)s.jar in a terminal to run the\n" +" type java -jar i2pinstall_%(i2pversion)s.jar in a " +"terminal to run the\n" " installer.\n" " On some platforms you may be able to right-click and select\n" " "Open with Java"." msgstr "" -#: i2p2www/pages/downloads/list.html:91 +#: i2p2www/pages/downloads/list.html:93 #, python-format msgid "" "Download the graphical installer file above and\n" -" run java -jar i2pinstall_%(i2pversion)s.jar -console from the command line." +" run java -jar i2pinstall_%(i2pversion)s.jar -console " +"from the command line." msgstr "" -#: i2p2www/pages/downloads/list.html:101 +#: i2p2www/pages/downloads/list.html:103 msgid "Packages for Debian & Ubuntu are available." msgstr "" -#: i2p2www/pages/downloads/list.html:116 +#: i2p2www/pages/downloads/list.html:118 #, python-format msgid "" "The Android version of I2P is being actively developed.\n" -" The latest dev build is version 0.9.3-5_b2-API8, and is available from\n" +" The latest dev build is version 0.9.3-5_b2-API8, and is available " +"from\n" " sponge's eepsite -\n" " scan or click the QR code." msgstr "" -#: i2p2www/pages/downloads/list.html:123 +#: i2p2www/pages/downloads/list.html:125 msgid "" "The release and dev versions of the I2P APK are not compatible, as they\n" -" are signed by zzz and sponge respectively. Uninstall one before installing\n" +" are signed by zzz and sponge respectively. Uninstall one before " +"installing\n" " the other." msgstr "" -#: i2p2www/pages/downloads/list.html:133 +#: i2p2www/pages/downloads/list.html:135 msgid "Source package" msgstr "" -#: i2p2www/pages/downloads/list.html:143 +#: i2p2www/pages/downloads/list.html:145 #, python-format msgid "" -"Alternately, you can fetch the source from monotone.\n" +"Alternately, you can fetch the source from monotone.\n" "
\n" -" Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd i2p-%(i2pversion)s ; ant pkg) then either\n" +" Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " +"i2p-%(i2pversion)s ; ant pkg) then either\n" " run the GUI installer or headless install as above." msgstr "" -#: i2p2www/pages/downloads/list.html:154 +#: i2p2www/pages/downloads/list.html:156 #, python-format msgid "" "The files are signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:159 -msgid "I2P can also be downloaded from our project pages on Launchpad and Google Code." +#: i2p2www/pages/downloads/list.html:161 +msgid "" +"I2P can also be downloaded from our project pages on Launchpad and Google Code." msgstr "" -#: i2p2www/pages/downloads/list.html:165 +#: i2p2www/pages/downloads/list.html:167 msgid "" -"After running the installer on windows, simply click on the \"Start I2P\" button\n" -"which will bring up the router console,\n" +"After running the installer on windows, simply click on the \"Start I2P\"" +" button\n" +"which will bring up the router console,\n" "which has further instructions." msgstr "" -#: i2p2www/pages/downloads/list.html:171 +#: i2p2www/pages/downloads/list.html:173 msgid "" "On Unix-like systems, I2P can be started as a service\n" -"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 router console\n" +"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 router console\n" "can be accessed at its usual location.\n" -"For users on OpenSolaris and other systems for which the wrapper (i2psvc) is not supported,\n" +"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 "" -#: i2p2www/pages/downloads/list.html:182 +#: i2p2www/pages/downloads/list.html:184 #, python-format msgid "" -"When installing for the first time, please remember to adjust your NAT/firewall\n" +"When installing for the first time, please remember to adjust your " +"NAT/firewall\n" "if you can, bearing in mind the Internet-facing ports I2P uses,\n" "described here among other ports.\n" -"If you have successfully opened your port to inbound TCP, also enable inbound TCP on the\n" +"If you have successfully opened your port to inbound TCP, also enable " +"inbound TCP on the\n" "configuration page." msgstr "" -#: i2p2www/pages/downloads/list.html:190 +#: i2p2www/pages/downloads/list.html:192 msgid "" "Also, please review and adjust the bandwidth settings on the\n" "configuration page,\n" "as the default settings of 96 KBps down / 40 KBps up are fairly slow." msgstr "" -#: i2p2www/pages/downloads/list.html:200 +#: i2p2www/pages/downloads/list.html:202 msgid "Updates from earlier releases:" msgstr "" -#: i2p2www/pages/downloads/list.html:202 +#: i2p2www/pages/downloads/list.html:204 msgid "Both automatic and manual upgrades are available for the release." msgstr "" -#: i2p2www/pages/downloads/list.html:207 +#: i2p2www/pages/downloads/list.html:209 msgid "Automatic updates" msgstr "" -#: i2p2www/pages/downloads/list.html:209 +#: i2p2www/pages/downloads/list.html:211 msgid "" "If you are running 0.7.5 or later, your router should detect the\n" -"new release. To upgrade simply click the 'Download Update' button on your router console\n" +"new release. To upgrade simply click the 'Download Update' button on your" +" router console\n" "when it appears." msgstr "" -#: i2p2www/pages/downloads/list.html:215 +#: i2p2www/pages/downloads/list.html:217 msgid "" -"Due to a bug in release 0.7.6, those whose first I2P installation was that version\n" +"Due to a bug in release 0.7.6, those whose first I2P installation was " +"that version\n" "and have not upgraded manually\n" -"may get a \"downloaded version is not greater than current version\" error,\n" +"may get a \"downloaded version is not greater than current version\" " +"error,\n" "and should use the manual update method below." msgstr "" -#: i2p2www/pages/downloads/list.html:223 +#: i2p2www/pages/downloads/list.html:225 #, python-format msgid "" "If you are running 0.7.4 or earlier, please see\n" "the 0.7.5 release notes\n" -"for important information about how to configure your router to automatically\n" +"for important information about how to configure your router to " +"automatically\n" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:231 +#: i2p2www/pages/downloads/list.html:233 #, python-format msgid "" "If you are running 0.6.1.30 or earlier, please see\n" "instructions\n" -"for important information about how to configure your router to automatically\n" +"for important information about how to configure your router to " +"automatically\n" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:240 +#: i2p2www/pages/downloads/list.html:242 #, python-format msgid "" -"If you have reconfigured your router following the instructions, you should see a link on your \n" -" router console allowing\n" +"If you have reconfigured your router following the instructions, you should see a link on your" +" \n" +" router console " +"allowing\n" " you to download and install the new release by just clicking on that\n" " link." msgstr "" -#: i2p2www/pages/downloads/list.html:248 +#: i2p2www/pages/downloads/list.html:250 msgid "Alternately, you can use the manual method specified below." msgstr "" -#: i2p2www/pages/downloads/list.html:258 +#: i2p2www/pages/downloads/list.html:260 msgid "Manual updates" msgstr "" -#: i2p2www/pages/downloads/list.html:270 +#: i2p2www/pages/downloads/list.html:272 msgid "" "Download that file to your I2P\n" " installation directory and rename as i2pupdate.zip.\n" -" (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" +" (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 "" -#: i2p2www/pages/downloads/list.html:279 +#: i2p2www/pages/downloads/list.html:281 msgid "Click \"Restart\"" msgstr "" -#: i2p2www/pages/downloads/list.html:284 +#: i2p2www/pages/downloads/list.html:286 msgid "Grab a cup of coffee and come back in 11 minutes" msgstr "" -#: i2p2www/pages/downloads/list.html:292 +#: i2p2www/pages/downloads/list.html:294 #, python-format msgid "" "The file is signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:297 +#: i2p2www/pages/downloads/list.html:299 msgid "Previous Releases" msgstr "" -#: i2p2www/pages/downloads/list.html:299 +#: i2p2www/pages/downloads/list.html:301 #, python-format msgid "" -"Previous releases are available on Google Code\n" +"Previous releases are available on Google " +"Code\n" "and Launchpad\n" -"and within the I2P network on %(echelon)s." +"and within the I2P network on %(echelon)s." msgstr "" -#: i2p2www/pages/downloads/select.html:2 -#: i2p2www/pages/downloads/select.html:4 +#: i2p2www/pages/downloads/select.html:2 i2p2www/pages/downloads/select.html:4 msgid "Mirror selection" msgstr "" @@ -526,12 +1094,29 @@ msgstr "" msgid "Any mirror" msgstr "" +#: 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" +"you think these are important? Add in your " +"donation, \n" +"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 -msgid "Yep... the resource, you were searching for, is named differently, doesn't exist or was removed." +msgid "" +"Yep... the resource, you were searching for, is named differently, " +"doesn't exist or was removed." msgstr "" #: i2p2www/pages/global/error_500.html:5 @@ -547,93 +1132,69 @@ msgid "Umm... the server encountered some sort of error." msgstr "" #: i2p2www/pages/global/footer.html:2 -msgid "Themes" -msgstr "" - -#: i2p2www/pages/global/footer.html:4 -msgid "Duck" -msgstr "" - -#: i2p2www/pages/global/footer.html:5 -msgid "Danimoth" -msgstr "" - -#: i2p2www/pages/global/footer.html:6 -msgid "Light" -msgstr "" - -#: i2p2www/pages/global/footer.html:7 -msgid "Dark" -msgstr "" - -#: i2p2www/pages/global/footer.html:8 -msgid "Barebones styling" -msgstr "" - -#: i2p2www/pages/global/footer.html:9 -msgid "Dropdown menu only" -msgstr "" - -#: i2p2www/pages/global/footer.html:13 msgid "Mirrors" msgstr "" -#: i2p2www/pages/global/footer.html:21 +#: i2p2www/pages/global/footer.html:10 msgid "Secure" msgstr "" -#: i2p2www/pages/global/footer.html:27 +#: i2p2www/pages/global/footer.html:16 msgid "Misc." msgstr "" -#: i2p2www/pages/global/footer.html:30 -#: i2p2www/pages/site/links.html:2 +#: i2p2www/pages/global/footer.html:19 i2p2www/pages/site/links.html:2 msgid "Links" msgstr "" -#: i2p2www/pages/global/footer.html:31 +#: i2p2www/pages/global/footer.html:20 msgid "Impressum" msgstr "" -#: i2p2www/pages/global/footer.html:35 +#: i2p2www/pages/global/footer.html:24 msgid "T-Shirts!" msgstr "" -#: i2p2www/pages/global/footer.html:37 +#: i2p2www/pages/global/footer.html:26 msgid "Europe" msgstr "" -#: i2p2www/pages/global/footer.html:38 +#: i2p2www/pages/global/footer.html:27 msgid "USA" msgstr "" -#: i2p2www/pages/global/footer.html:42 +#: 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 "" -#: i2p2www/pages/global/layout.html:19 +#: i2p2www/pages/global/layout.html:28 msgid "Skip navigation" msgstr "" -#: i2p2www/pages/global/layout.html:22 +#: i2p2www/pages/global/layout.html:31 msgid "I2P Logo" msgstr "" -#: i2p2www/pages/global/layout.html:22 -msgid "Invisible Internet Project (I2P)" +#: i2p2www/pages/global/layout.html:31 i2p2www/pages/site/index.html:3 +#: i2p2www/pages/site/about/intro.html:4 +msgid "The Invisible Internet Project" msgstr "" -#: i2p2www/pages/global/layout.html:46 +#: i2p2www/pages/global/layout.html:55 #, python-format -msgid "This page was last updated in %(lastupdated)s and is accurate for router version %(accuratefor)s." +msgid "" +"This page was last updated in %(lastupdated)s and is accurate for router " +"version %(accuratefor)s." msgstr "" -#: i2p2www/pages/global/layout.html:50 +#: i2p2www/pages/global/layout.html:59 #, python-format msgid "This page was last updated in %(lastupdated)s." msgstr "" -#: i2p2www/pages/global/layout.html:54 +#: i2p2www/pages/global/layout.html:63 #, python-format msgid "This page is accurate for router version %(accuratefor)s." msgstr "" @@ -654,19 +1215,12 @@ msgstr "" msgid "Overview of comparisons" msgstr "" -#: i2p2www/pages/global/nav.html:10 -msgid "Tor" -msgstr "" - -#: i2p2www/pages/global/nav.html:11 -msgid "Freenet" -msgstr "" - #: i2p2www/pages/global/nav.html:13 msgid "Other anonymous networks" msgstr "" #: i2p2www/pages/global/nav.html:16 +#: i2p2www/pages/site/get-involved/index.html:29 msgid "Documentation" msgstr "" @@ -674,7 +1228,7 @@ msgstr "" msgid "Documentation index" msgstr "" -#: i2p2www/pages/global/nav.html:19 +#: i2p2www/pages/global/nav.html:19 i2p2www/pages/site/about/intro.html:17 msgid "How does it work?" msgstr "" @@ -691,6 +1245,7 @@ msgid "Threat model" msgstr "" #: i2p2www/pages/global/nav.html:24 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:292 msgid "Garlic routing" msgstr "" @@ -703,10 +1258,13 @@ msgid "Tunnel routing" msgstr "" #: i2p2www/pages/global/nav.html:27 +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:21 msgid "Peer selection" msgstr "" #: i2p2www/pages/global/nav.html:28 +#: i2p2www/pages/site/docs/how/tech-intro.html:17 +#: i2p2www/pages/site/docs/how/tech-intro.html:458 msgid "Cryptography" msgstr "" @@ -714,8 +1272,9 @@ msgstr "" msgid "ElGamal/AES+SessionTags" msgstr "" -#: i2p2www/pages/global/nav.html:32 -#: i2p2www/pages/global/nav.html:113 +#: i2p2www/pages/global/nav.html:32 i2p2www/pages/global/nav.html:115 +#: i2p2www/pages/site/docs/spec/configuration.html:75 +#: i2p2www/pages/site/get-involved/index.html:48 msgid "Applications" msgstr "" @@ -728,34 +1287,12 @@ msgid "Bittorrent" msgstr "" #: i2p2www/pages/global/nav.html:38 +#: i2p2www/pages/site/docs/api/streaming.html:58 msgid "API" msgstr "" -#: i2p2www/pages/global/nav.html:40 -msgid "I2PTunnel" -msgstr "" - -#: i2p2www/pages/global/nav.html:41 -msgid "SOCKS" -msgstr "" - -#: i2p2www/pages/global/nav.html:42 -msgid "SAM v1" -msgstr "" - -#: i2p2www/pages/global/nav.html:43 -msgid "SAM v2" -msgstr "" - -#: i2p2www/pages/global/nav.html:44 -msgid "SAM v3" -msgstr "" - -#: i2p2www/pages/global/nav.html:45 -msgid "BOB" -msgstr "" - -#: i2p2www/pages/global/nav.html:46 +#: i2p2www/pages/global/nav.html:46 i2p2www/pages/global/nav.html:76 +#: i2p2www/pages/site/docs/how/tech-intro.html:808 msgid "Streaming library" msgstr "" @@ -763,210 +1300,224 @@ msgstr "" msgid "Ministreaming library" msgstr "" -#: i2p2www/pages/global/nav.html:48 -msgid "I2PControl" -msgstr "" - -#: i2p2www/pages/global/nav.html:51 -msgid "Protocols" -msgstr "" - -#: i2p2www/pages/global/nav.html:53 -msgid "Protocol stack" -msgstr "" - -#: i2p2www/pages/global/nav.html:58 -msgid "Transports" -msgstr "" - -#: i2p2www/pages/global/nav.html:60 -msgid "Transport layer overview" -msgstr "" - -#: i2p2www/pages/global/nav.html:61 -msgid "NTCP" -msgstr "" - -#: i2p2www/pages/global/nav.html:62 -msgid "SSU" -msgstr "" - -#: i2p2www/pages/global/nav.html:65 -msgid "Specifications" -msgstr "" - -#: i2p2www/pages/global/nav.html:67 -msgid "Blockfile" -msgstr "" - -#: i2p2www/pages/global/nav.html:68 -msgid "Common structures" -msgstr "" - -#: i2p2www/pages/global/nav.html:69 -msgid "Configuration files" -msgstr "" - -#: i2p2www/pages/global/nav.html:70 +#: i2p2www/pages/global/nav.html:48 i2p2www/pages/global/nav.html:71 +#: i2p2www/pages/site/docs/index.html:87 +#: i2p2www/pages/site/docs/api/datagrams.html:2 +#: i2p2www/pages/site/get-involved/develop/applications.html:250 msgid "Datagrams" msgstr "" -#: i2p2www/pages/global/nav.html:73 -#: i2p2www/pages/global/nav.html:88 +#: i2p2www/pages/global/nav.html:52 +msgid "Protocols" +msgstr "" + +#: i2p2www/pages/global/nav.html:54 +msgid "Protocol stack" +msgstr "" + +#: i2p2www/pages/global/nav.html:59 +#: i2p2www/pages/site/docs/how/cryptography.html:394 +msgid "Transports" +msgstr "" + +#: i2p2www/pages/global/nav.html:61 i2p2www/pages/site/docs/index.html:157 +msgid "Transport layer overview" +msgstr "" + +#: i2p2www/pages/global/nav.html:66 +msgid "Specifications" +msgstr "" + +#: i2p2www/pages/global/nav.html:68 +msgid "Blockfile" +msgstr "" + +#: i2p2www/pages/global/nav.html:69 +msgid "Common structures" +msgstr "" + +#: i2p2www/pages/global/nav.html:70 +msgid "Configuration files" +msgstr "" + +#: i2p2www/pages/global/nav.html:74 i2p2www/pages/global/nav.html:90 +#: i2p2www/pages/site/docs/plugins.html:2 +#: i2p2www/pages/site/docs/spec/configuration.html:65 msgid "Plugins" msgstr "" -#: i2p2www/pages/global/nav.html:75 +#: i2p2www/pages/global/nav.html:77 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:230 msgid "Tunnel creation" msgstr "" -#: i2p2www/pages/global/nav.html:76 +#: i2p2www/pages/global/nav.html:78 msgid "Tunnel messages" msgstr "" -#: i2p2www/pages/global/nav.html:77 +#: i2p2www/pages/global/nav.html:79 msgid "Software updates" msgstr "" -#: i2p2www/pages/global/nav.html:80 +#: i2p2www/pages/global/nav.html:82 i2p2www/pages/site/docs/index.html:138 +#: i2p2www/pages/site/docs/how/tech-intro.html:14 +#: i2p2www/pages/site/docs/how/tech-intro.html:228 msgid "Tunnels" msgstr "" -#: i2p2www/pages/global/nav.html:82 +#: i2p2www/pages/global/nav.html:84 msgid "Tunnel implementation" msgstr "" -#: i2p2www/pages/global/nav.html:83 +#: i2p2www/pages/global/nav.html:85 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:288 msgid "Unidirectional tunnels" msgstr "" -#: i2p2www/pages/global/nav.html:84 +#: i2p2www/pages/global/nav.html:86 msgid "Old implementation" msgstr "" -#: i2p2www/pages/global/nav.html:87 +#: i2p2www/pages/global/nav.html:89 msgid "Naming and addressbook" msgstr "" -#: i2p2www/pages/global/nav.html:91 +#: i2p2www/pages/global/nav.html:93 i2p2www/pages/site/about/team.html:2 msgid "Team" msgstr "" -#: i2p2www/pages/global/nav.html:93 -msgid "Hall of Fame" -msgstr "" - #: i2p2www/pages/global/nav.html:94 -msgid "Academic papers and peer review" +msgid "Blog" msgstr "" #: i2p2www/pages/global/nav.html:95 -msgid "Presentations, tutorials and articles" +msgid "Hall of Fame" msgstr "" #: i2p2www/pages/global/nav.html:96 +msgid "Academic papers and peer review" +msgstr "" + +#: i2p2www/pages/global/nav.html:97 +msgid "Presentations, tutorials and articles" +msgstr "" + +#: i2p2www/pages/global/nav.html:98 msgid "Contact us" msgstr "" -#: i2p2www/pages/global/nav.html:99 +#: i2p2www/pages/global/nav.html:101 msgid "Help" msgstr "" -#: i2p2www/pages/global/nav.html:101 +#: i2p2www/pages/global/nav.html:103 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:169 msgid "FAQ" msgstr "" -#: i2p2www/pages/global/nav.html:102 +#: i2p2www/pages/global/nav.html:104 msgid "How to browse I2P" msgstr "" -#: i2p2www/pages/global/nav.html:103 +#: i2p2www/pages/global/nav.html:105 i2p2www/pages/site/about/glossary.html:2 msgid "Glossary" msgstr "" -#: i2p2www/pages/global/nav.html:104 +#: i2p2www/pages/global/nav.html:106 +#: i2p2www/pages/site/about/performance/index.html:2 +#: i2p2www/pages/site/docs/index.html:182 +#: i2p2www/pages/site/get-involved/todo.html:52 +#: i2p2www/pages/site/get-involved/todo.html:456 msgid "Performance" msgstr "" -#: i2p2www/pages/global/nav.html:105 -#: i2p2www/pages/site/contact.html:22 +#: i2p2www/pages/global/nav.html:107 i2p2www/pages/site/contact.html:22 msgid "Forums" msgstr "" -#: i2p2www/pages/global/nav.html:108 +#: i2p2www/pages/global/nav.html:110 msgid "Volunteer" msgstr "" -#: i2p2www/pages/global/nav.html:110 +#: i2p2www/pages/global/nav.html:112 msgid "Get involved!" msgstr "" -#: i2p2www/pages/global/nav.html:111 +#: i2p2www/pages/global/nav.html:113 msgid "Develop" msgstr "" -#: i2p2www/pages/global/nav.html:114 +#: i2p2www/pages/global/nav.html:116 +#: i2p2www/pages/site/get-involved/develop/licenses.html:2 +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115 msgid "Licenses" msgstr "" -#: i2p2www/pages/global/nav.html:115 +#: i2p2www/pages/global/nav.html:117 msgid "Release signing keys" msgstr "" -#: i2p2www/pages/global/nav.html:116 +#: i2p2www/pages/global/nav.html:118 msgid "Signed keys" msgstr "" -#: i2p2www/pages/global/nav.html:117 +#: i2p2www/pages/global/nav.html:119 msgid "Developers keys" msgstr "" -#: i2p2www/pages/global/nav.html:118 +#: i2p2www/pages/global/nav.html:120 i2p2www/pages/site/docs/index.html:220 msgid "Bug tracker" msgstr "" -#: i2p2www/pages/global/nav.html:121 +#: i2p2www/pages/global/nav.html:123 msgid "Academic research" msgstr "" -#: i2p2www/pages/global/nav.html:122 +#: i2p2www/pages/global/nav.html:124 msgid "Guides" msgstr "" -#: i2p2www/pages/global/nav.html:124 +#: i2p2www/pages/global/nav.html:126 msgid "New developers" msgstr "" -#: i2p2www/pages/global/nav.html:125 +#: i2p2www/pages/global/nav.html:127 +#: i2p2www/pages/site/get-involved/guides/ides.html:2 msgid "Using an IDE with I2P" msgstr "" -#: i2p2www/pages/global/nav.html:126 +#: i2p2www/pages/global/nav.html:128 msgid "Developer guidelines and coding style" msgstr "" -#: i2p2www/pages/global/nav.html:127 -msgid "New translators" +#: i2p2www/pages/global/nav.html:129 +#: i2p2www/pages/site/get-involved/guides/monotone.html:2 +msgid "Monotone" msgstr "" #: i2p2www/pages/global/nav.html:130 -msgid "Bounties" -msgstr "" - -#: i2p2www/pages/global/nav.html:131 -#: i2p2www/pages/meetings/index.html:2 -msgid "Meetings" -msgstr "" - -#: i2p2www/pages/global/nav.html:132 -msgid "Roadmap" +msgid "New translators" msgstr "" #: i2p2www/pages/global/nav.html:133 -msgid "Task list" +#: i2p2www/pages/site/get-involved/bounties/index.html:2 +msgid "Bounties" +msgstr "" + +#: i2p2www/pages/global/nav.html:134 i2p2www/pages/meetings/index.html:2 +msgid "Meetings" +msgstr "" + +#: i2p2www/pages/global/nav.html:135 +#: i2p2www/pages/site/get-involved/roadmap.html:2 +msgid "Roadmap" msgstr "" #: i2p2www/pages/global/nav.html:136 +msgid "Task list" +msgstr "" + +#: i2p2www/pages/global/nav.html:139 msgid "Language" msgstr "" @@ -981,17 +1532,10 @@ msgstr "" #: i2p2www/pages/meetings/index.html:9 #, python-format msgid "" -"If you have something to discuss, please find the developers on IRC in #i2p-dev.\n" -"Status updates from developers are also available." -msgstr "" - -#: 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" +"If you have something to discuss, please find the developers on IRC in " +"#i2p-dev.\n" +"Status updates from developers are also " +"available." msgstr "" #: i2p2www/pages/site/contact.html:2 @@ -1000,10 +1544,14 @@ msgstr "" #: i2p2www/pages/site/contact.html:5 msgid "" -"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 OFTC,\n" -" EIN and Freenode.\n" -" All I2P-related channels on all these network are linked to the main channels on Irc2P via relay bots." +"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 OFTC,\n" +" EIN and Freenode.\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 @@ -1028,7 +1576,10 @@ msgstr "" #: i2p2www/pages/site/contact.html:23 #, python-format -msgid "Most of the discussion about I2P's development happens on the I2P developer forum. This is usually the best place to start with inquiries, if the dev IRC channel is inactive." +msgid "" +"Most of the discussion about I2P's development happens on the I2P developer forum. This is usually the best" +" place to start with inquiries, if the dev IRC channel is inactive." msgstr "" #: i2p2www/pages/site/contact.html:27 @@ -1036,7 +1587,10 @@ msgid "Mailing lists" msgstr "" #: i2p2www/pages/site/contact.html:28 -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." +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 @@ -1044,7 +1598,10 @@ msgid "Subscribing" msgstr "" #: i2p2www/pages/site/contact.html:34 -msgid "To subscribe to a mailing list, go to the list information page (linked below) and fill out the form. I2P-internal email addresses (foobar@mail.i2p) can be used." +msgid "" +"To subscribe to a mailing list, go to the list information page (linked " +"below) and fill out the form. I2P-internal email addresses " +"(foobar@mail.i2p) can be used." msgstr "" #: i2p2www/pages/site/contact.html:38 @@ -1052,7 +1609,10 @@ msgid "Unsubscribing" msgstr "" #: i2p2www/pages/site/contact.html:39 -msgid "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." +msgid "" +"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 @@ -1064,11 +1624,15 @@ msgid "Archive" msgstr "" #: i2p2www/pages/site/contact.html:47 -msgid "General I2P discussion - anything that doesn't fit in a different list goes here." +msgid "" +"General I2P discussion - anything that doesn't fit in a different list " +"goes here." msgstr "" #: i2p2www/pages/site/contact.html:53 -msgid "You don't like mailing lists? Then this is for you. All mailing lists are available via NNTP as well." +msgid "" +"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 @@ -1084,6 +1648,7 @@ msgid "Frequently Asked Questions" msgstr "" #: i2p2www/pages/site/faq.html:4 +#: i2p2www/pages/site/docs/how/threat-model.html:121 msgid "Index" msgstr "" @@ -1091,8 +1656,7 @@ msgstr "" msgid "General" msgstr "" -#: i2p2www/pages/site/faq.html:9 -#: i2p2www/pages/site/faq.html:51 +#: i2p2www/pages/site/faq.html:9 i2p2www/pages/site/faq.html:51 msgid "What systems will I2P run on?" msgstr "" @@ -1100,33 +1664,31 @@ msgstr "" msgid "Whats an \"eepsite\" and how do I configure my browser so I can use them?" msgstr "" -#: i2p2www/pages/site/faq.html:11 -#: i2p2www/pages/site/faq.html:263 +#: 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?" -#: i2p2www/pages/site/faq.html:12 -#: i2p2www/pages/site/faq.html:496 +#: 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?" -#: 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?" -msgstr "Meine active Peers / known Peers / Participating Tunnel / Verbindungen / Bandbeite ändern sich stark! Ist irgendwas kaputt?" +#: 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?" +msgstr "" +"Meine active Peers / known Peers / Participating Tunnel / Verbindungen / " +"Bandbeite ändern sich stark! Ist irgendwas kaputt?" -#: i2p2www/pages/site/faq.html:14 -#: i2p2www/pages/site/faq.html:348 +#: i2p2www/pages/site/faq.html:14 i2p2www/pages/site/faq.html:348 msgid "Is using an outproxy safe?" msgstr "" -#: i2p2www/pages/site/faq.html:15 -#: i2p2www/pages/site/faq.html:374 +#: i2p2www/pages/site/faq.html:15 i2p2www/pages/site/faq.html:374 msgid "Most of the eepsites within I2P are down?" msgstr "" -#: i2p2www/pages/site/faq.html:16 -#: i2p2www/pages/site/faq.html:525 +#: 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?" @@ -1134,92 +1696,82 @@ msgstr "Welche Ports werden von I2P genutzt?" msgid "Why is I2P listening for connections on port 32000?" msgstr "" -#: i2p2www/pages/site/faq.html:18 -#: i2p2www/pages/site/faq.html:62 +#: 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 "" -#: i2p2www/pages/site/faq.html:19 -#: i2p2www/pages/site/faq.html:107 +#: 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?" -#: i2p2www/pages/site/faq.html:20 -#: i2p2www/pages/site/faq.html:843 +#: 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 +#: i2p2www/pages/site/docs/api/streaming.html:292 msgid "Setup" msgstr "" -#: 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" +#: 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 "" -#: i2p2www/pages/site/faq.html:25 -#: i2p2www/pages/site/faq.html:390 +#: i2p2www/pages/site/faq.html:25 i2p2www/pages/site/faq.html:390 msgid "Why is I2P so slow?" msgstr "Warum ist I2P so langsam?" -#: i2p2www/pages/site/faq.html:26 -#: i2p2www/pages/site/faq.html:79 -msgid "I'm missing lots of hosts in my addressbook. What are some good subscription links?" +#: i2p2www/pages/site/faq.html:26 i2p2www/pages/site/faq.html:79 +msgid "" +"I'm missing lots of hosts in my addressbook. What are some good " +"subscription links?" msgstr "" -#: i2p2www/pages/site/faq.html:27 -#: i2p2www/pages/site/faq.html:383 +#: i2p2www/pages/site/faq.html:27 i2p2www/pages/site/faq.html:383 msgid "How do I set up my own eepsite?" msgstr "" -#: i2p2www/pages/site/faq.html:28 -#: i2p2www/pages/site/faq.html:416 +#: 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?" -#: i2p2www/pages/site/faq.html:29 -#: i2p2www/pages/site/faq.html:423 +#: 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?" -#: i2p2www/pages/site/faq.html:30 -#: i2p2www/pages/site/faq.html:281 +#: 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 über I2P erreichen." -#: i2p2www/pages/site/faq.html:31 -#: i2p2www/pages/site/faq.html:296 +#: 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 ü I2P besuchen." -#: i2p2www/pages/site/faq.html:32 -#: i2p2www/pages/site/faq.html:504 +#: 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öglich, I2P als SOCKS Proxy zu nutzen?" -#: i2p2www/pages/site/faq.html:33 -#: i2p2www/pages/site/faq.html:487 +#: i2p2www/pages/site/faq.html:33 i2p2www/pages/site/faq.html:489 msgid "How do I configure my browser?" msgstr "" -#: i2p2www/pages/site/faq.html:34 -#: i2p2www/pages/site/faq.html:432 -msgid "How can I access the web console from my other machines or password protect it?" +#: i2p2www/pages/site/faq.html:34 i2p2www/pages/site/faq.html:434 +msgid "" +"How can I access the web console from my other machines or password " +"protect it?" msgstr "" -#: i2p2www/pages/site/faq.html:35 -#: i2p2www/pages/site/faq.html:472 +#: i2p2www/pages/site/faq.html:35 i2p2www/pages/site/faq.html:474 msgid "How can I use applications from my other machines?" msgstr "" -#: i2p2www/pages/site/faq.html:36 -#: i2p2www/pages/site/faq.html:746 +#: i2p2www/pages/site/faq.html:36 i2p2www/pages/site/faq.html:748 msgid "How do I reseed manually?" msgstr "Wie reseede ich manuell?" -#: i2p2www/pages/site/faq.html:37 -#: i2p2www/pages/site/faq.html:124 +#: 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?!?" @@ -1227,75 +1779,80 @@ msgstr "Mein Router nutzt viel zu viel CPU?!?" msgid "Misconception" msgstr "" -#: i2p2www/pages/site/faq.html:41 -#: i2p2www/pages/site/faq.html:366 -msgid "How do I access IRC, BitTorrent, or other services on the regular Internet?" +#: i2p2www/pages/site/faq.html:41 i2p2www/pages/site/faq.html:366 +msgid "" +"How do I access IRC, BitTorrent, or other services on the regular " +"Internet?" msgstr "" #: i2p2www/pages/site/faq.html:42 -msgid "Is my router an \"exit node\"(outproxy) to the regular Internet? I don't want it to be." -msgstr "Ist mein Router ein \"Exit Punkt\" ins normale Internet? Das will ich nicht!" +msgid "" +"Is my router an \"exit node\"(outproxy) to the regular Internet? I don't " +"want it to be." +msgstr "" +"Ist mein Router ein \"Exit Punkt\" ins normale Internet? Das will ich " +"nicht!" -#: i2p2www/pages/site/faq.html:43 -#: i2p2www/pages/site/faq.html:188 -#, fuzzy -msgid "I am opposed to certain types of content. How do I keep from distributing, storing, or accessing them?" -msgstr "ich mag einen bestimmten Teil der Daten/Inhalte nicht. Wie kann ich verhindern, das ich diese verbreite, speichere oder auf sie zugreifen kann?" +#: i2p2www/pages/site/faq.html:43 i2p2www/pages/site/faq.html:188 +msgid "" +"I am opposed to certain types of content. How do I keep from " +"distributing, storing, or accessing them?" +msgstr "" #: i2p2www/pages/site/faq.html:45 msgid "Errors and Their Solutions" msgstr "" -#: i2p2www/pages/site/faq.html:47 -#: i2p2www/pages/site/faq.html:782 -msgid "I'm using FreeBSD and when I start I2P I receive an error about libm.so.4!" +#: 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 " +"libm.so.4!" msgstr "" #: i2p2www/pages/site/faq.html:48 -msgid "In wrapper.log I see an error stating Protocol family unavailable when I2P is loading" +msgid "" +"In wrapper.log I see an error stating Protocol family " +"unavailable 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:433 -#: i2p2www/pages/site/faq.html:473 -#: i2p2www/pages/site/faq.html:480 -#: i2p2www/pages/site/faq.html:488 -#: i2p2www/pages/site/faq.html:497 -#: i2p2www/pages/site/faq.html:505 -#: i2p2www/pages/site/faq.html:526 -#: i2p2www/pages/site/faq.html:734 -#: i2p2www/pages/site/faq.html:747 -#: i2p2www/pages/site/faq.html:783 -#: i2p2www/pages/site/faq.html:815 -#: i2p2www/pages/site/faq.html:844 +#: 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 +#: i2p2www/pages/site/faq.html:846 i2p2www/pages/site/get-involved/todo.html:16 +#: 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 -msgid "While I2P has been reported to run PCs as meagre as a low-end Pentium II 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 chart comparing the performance of the various JREs can be found at http://%(trac)s/wiki/java, but in short: it's at all possible, use Sun/Oracle Java or OpenJDK." +msgid "" +"While I2P has been reported to run PCs as meagre as a low-end Pentium II " +"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 chart comparing the performance of" +" the various JREs can be found at http://%(trac)s/wiki/java, but in " +"short: it's at all possible, use Sun/Oracle Java or OpenJDK." msgstr "" #: i2p2www/pages/site/faq.html:57 -msgid "I2P has been tested on Windows, Linux, FreeBSD (see the note below), OSX, and OpenSolaris. There is work underway to bring I2P to the Android platform." +msgid "" +"I2P has been tested on Windows, Linux, FreeBSD (see the note below), OSX, and OpenSolaris. There is work " +"underway to bring I2P to the Android platform." msgstr "" #: i2p2www/pages/site/faq.html:65 @@ -1312,41 +1869,55 @@ msgstr "" #: i2p2www/pages/site/faq.html:81 msgid "" -"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" +"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 "" -"Here are some other public addressbook subscription links. You may wish to add one or two\n" -"to your susidns subscription list.\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" +"Here are some other public addressbook subscription links. You may wish " +"to add one or two\n" +"to your susidns " +"subscription list.\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" -"The operators of these services may have various policies for listing hosts.\n" +"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 -#, fuzzy msgid "" "Jrandom was the lead developer of I2P and\n" "Syndie 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." -msgstr "Jrandom war der Hauptentwickler von I2P und Syndie für mehrere Jahre. Wir rechnen mit der Abwesenheit von Jrandom bis mindestens Ende des Jahres 2008. Die *.i2p.net Domains wurden durch einen Stromausfall in deren Rechenzentrum in einen nicht funktionierenden Status versetzt und da nur Jrandom administrativen Zugriff auf diese hat, konnte dieser Fehler nicht korrigiert werden." +msgstr "" #: i2p2www/pages/site/faq.html:117 #, python-format msgid "" -"See this page for jrandom's parting message and additional information\n" +"See this page for jrandom's parting message " +"and additional information\n" "on the migration of *.i2p.net to this website." -msgstr "Sschaue auf diese Seite für Jrandoms Abschiedsnachricht und weitere Informationen zur Migration von *.i2p.net zu dieser Webseite." +msgstr "" +"Sschaue auf diese Seite für Jrandoms " +"Abschiedsnachricht und weitere Informationen zur Migration von *.i2p.net " +"zu dieser Webseite." #: i2p2www/pages/site/faq.html:122 msgid "I2P remains in active development." @@ -1358,46 +1929,61 @@ msgstr "" #: i2p2www/pages/site/faq.html:131 msgid "" -"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 java -version at a \n" -"command/shell prompt. Performance tends to suffer with other implementations of java." +"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 java " +"-version at a \n" +"command/shell prompt. Performance tends to suffer with other " +"implementations of java." msgstr "" #: i2p2www/pages/site/faq.html:138 msgid "" -"Are you running a BitTorrent client over I2P? Try reducing the number of torrents, the bandwidth limits,\n" +"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 "" -"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 share bandwidth percentage on the configuration page." +"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 share " +"bandwidth percentage on the configuration page." msgstr "" #: i2p2www/pages/site/faq.html:149 -msgid "Make sure that you're running the latest version of I2P to get the benefits of increased performance and bug fixes." +msgid "" +"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 "" -"Has enough memory been set aside for use by I2P? Look at the memory graph on the graphs page to see\n" -"if the memory usage is \"pegged\"—the JVM is spending most of its time in\n" -"garbage collection. Increase the setting wrapper.java.maxmemory in wrapper.config." +"Has enough memory been set aside for use by I2P? Look at the memory graph" +" on the graphs page to see\n" +"if the memory usage is \"pegged\"—the JVM is spending most of its " +"time in\n" +"garbage collection. Increase the setting " +"wrapper.java.maxmemory in wrapper.config." msgstr "" #: i2p2www/pages/site/faq.html:161 #, python-format msgid "" -"Is the CPU usage simply higher than you would like, or is it pegged at 100% for a long time?\n" +"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 "" -"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" +"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 jbigi page for instructions on\n" "diagnosing, building, and testing methods." msgstr "" @@ -1411,65 +1997,91 @@ msgid "" "share bandwidth on\n" "confignet.jsp,\n" "or by setting router.maxParticipatingTunnels=nnn on\n" -"configadvanced.jsp." +"configadvanced.jsp." msgstr "" #: i2p2www/pages/site/faq.html:190 msgid "" "Hmm. I2P is an anonymous network, so that's a tricky one.\n" -"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" +"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:" -msgstr "Hmm. I2P ist ein anonymes Netzwerk, somit ist dieses Thema schwer zu lösen. I2P ist für jeden aufgebaut und nicht zum zensieren von ein paar/allen Daten. Der Beste Weg um deinen PC frei von (verschlüsseltem) Material, welches Du nicht magst, zu halten, ist I2P nicht zu nutzen. Die Redefreiheit für jeden (Freedom of Speech) hat gewisse Kosten, die wir akzeptieren müssen. Aber lass uns die Frage in 3 Teilen beantworten:" +msgstr "" +"Hmm. I2P ist ein anonymes Netzwerk, somit ist dieses Thema schwer zu " +"lösen. I2P ist für jeden aufgebaut und nicht zum zensieren von " +"ein paar/allen Daten. Der Beste Weg um deinen PC frei von " +"(verschlüsseltem) Material, welches Du nicht magst, zu halten, ist " +"I2P nicht zu nutzen. Die Redefreiheit für jeden (Freedom of Speech) " +"hat gewisse Kosten, die wir akzeptieren müssen. Aber lass uns die " +"Frage in 3 Teilen beantworten:" #: i2p2www/pages/site/faq.html:199 -#, fuzzy, python-format +#, python-format msgid "" -"Distribution - All traffic on I2P is encrypted in multiple layers. You don't know\n" +"Distribution - All traffic on I2P is encrypted in multiple layers." +" You don't know\n" "a message's contents, source, or destination.\n" -"All traffic you route is internal to the I2P network, you are not an exit node (outproxy).\n" +"All traffic you route is internal to the I2P network, you are not an exit node (outproxy).\n" "Your only alternative is to refuse to route\n" -"any 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" +"any 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." -msgstr "Verteilen - Alle Daten in I2P sind in mehreren Schichten verschlüsselt. Du kennst weder den Inhalt der Nachricht noch ihren Ausgangspunkt oder ihr Ziel. Deine einzige Auswahl ist nur, generell keine Daten zu routen, indem Du die \"Share\" Bandbreite oder die maximale Anzahl der \"Participating Tunnel\" auf 0 setzt (siehe oben). Es wäre schön, wenn du dieses nicht machst, du solltest dem Netzwerk helfen, in dem du fremde Daten weiter leitest." +msgstr "" #: i2p2www/pages/site/faq.html:210 -#, fuzzy msgid "" -"Storage - I2P does not do distributed storage of content. You must be thinking of\n" +"Storage - I2P does not do distributed storage of content. You must" +" be thinking of\n" "Freenet.\n" "Nobody's content is being stored on your computer by running I2P." -msgstr "Speichern - I2P hat keinen verteilten Datenspeicher, du musst an Freenet denken. Du speicherst keine Daten für jemand anderen." +msgstr "" #: i2p2www/pages/site/faq.html:217 -#, fuzzy msgid "" -"Access - If there are some eepsites you don't like, don't go there.\n" +"Access - 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\"." -msgstr "Zugriff - Falls es Eepsites gibt, die Du nicht magst, besuche sie nicht! Oder benutze einen Proxy wie Privoxy, der den Zugriff dazu für dich sperrt." +msgstr "" #: i2p2www/pages/site/faq.html:227 msgid "" "No. This is normal.\n" "All routers adjust dynamically to changing network conditions and demands." -msgstr "Nein, das ist normal. Alle Router passen sich dynamisch an die sich veränderne Netzwerkbedingunen und Anforderungen an." +msgstr "" +"Nein, das ist normal. Alle Router passen sich dynamisch an die sich " +"veränderne Netzwerkbedingunen und Anforderungen an." #: i2p2www/pages/site/faq.html:234 -msgid "You may need to reseed your I2P router. With recent versions of I2P you can go to http://localhost:7657/configreseed and click the Save Changes and Reseed Now button. If this method doesn't work—or you're using a very old version—you may need to reseed manually." +msgid "" +"You may need to reseed your I2P router. With recent versions of I2P you " +"can go to http://localhost:7657/configreseed" +" and click the Save Changes and Reseed Now button. If this " +"method doesn't work—or you're using a very old version—you " +"may need to reseed manually." msgstr "" #: i2p2www/pages/site/faq.html:237 msgid "" -"The reseed URL changed a few years ago. If this is your first install and you have installed\n" +"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" -"on configadvanced.jsp,\n" +"on configadvanced.jsp," +"\n" "add the line i2p.reseedURL=http://netdb.i2p2.de/\n" -"OR i2p.reseedURL=http://i2pdb.tin0.de/netDb/ (either should work),\n" +"OR i2p.reseedURL=http://i2pdb.tin0.de/netDb/ (either should " +"work),\n" "then click \"Apply\", then click the \"reseed\" link on the left." msgstr "" @@ -1477,105 +2089,147 @@ msgstr "" #, python-format msgid "" "This works if you are running 0.6.1.27 or later.\n" -"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.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" "manual reseed instructions below\n" "or install the latest release.\n" "Possible alternate method - add\n" "wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/\n" -"to wrapper.config, shutdown the router completely, then start again, then click \"reseed\".\n" +"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 -msgid "...but you *really* should upgrade to the latest version." +msgid "" +"...but you *really* should upgrade to " +"the latest version." msgstr "" #: i2p2www/pages/site/faq.html:265 msgid "" -"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 should maintain connections to a few peers at all times.\n" -"The best way to stay \"better-connected\" to the network is to share more bandwidth." +"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 should maintain connections to a few peers at all " +"times.\n" +"The best way to stay \"better-connected\" to the network is to share more bandwidth." msgstr "" #: i2p2www/pages/site/faq.html:272 -msgid "Is my router an \"exit node\" to the regular Internet? I don't want it to be." +msgid "" +"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 Tor,\n" -"\"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" +"\"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 "" -"See above. There are very few HTTP \"outproxies\", they are not an inherent part of the network,\n" +"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" -"In addition, the old outproxies squid.i2p, true.i2p, and krabs.i2p have vanished.\n" +"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" -"To use it, edit your i2ptunnel settings for eepProxy\n" +"To use it, edit your i2ptunnel " +"settings for eepProxy\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" -"If your primary reason to use an anonymous network is to anonymously access sites\n" -"on the regular Internet, you should probably try Tor." +"If your primary reason to use an anonymous network is to anonymously " +"access sites\n" +"on the regular Internet, you should probably try Tor." msgstr "" #: i2p2www/pages/site/faq.html:298 msgid "" -"Within I2P, there is no need for HTTPS, as all traffic is encrypted end-to-end.\n" +"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 "" -"There are no FTP \"outproxies\" to the Internet—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." +"There are no FTP \"outproxies\" to the Internet—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 "" -"As explained several times above, any existing outproxy isn't a core part of the network.\n" +"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 "" -"Update: Thanks to the work of h2ik, there is an https outproxy available for use via I2P. Starting with I2P 0.8.4 the tunnel is configured out of the box.
\n" -"In case the https outproxy is not available in your version of I2P, you can add it easily by doing the following:" +"Update: Thanks to the work of h2ik, there is an https outproxy " +"available for use via I2P. Starting with I2P 0.8.4 the tunnel is " +"configured out of the box.
\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 -msgid "Open i2p tunnel manager. Scroll down to the bottom." +msgid "" +"Open i2p tunnel " +"manager. Scroll down to the bottom." msgstr "" #: i2p2www/pages/site/faq.html:324 -msgid "Choose CONNECT from New Client Tunnel dropdown list, click Create" +msgid "" +"Choose CONNECT from New Client Tunnel dropdown list, click " +"Create" msgstr "" #: i2p2www/pages/site/faq.html:329 #, python-format msgid "" -"In the new page, name and describe your new https tunnel as you like.\n" -"The Access Point is your local port for the new https proxy recommended port's 4445.\n" -"Outproxy should be the outproxy's .i2p address which supports https. \n" -"See this forum post of h2ik's for the address. \n" -"Make sure Shared Client, Delay Connect, AutoStart are checked.\n" -"Other options should be left at the defaults. Click Save. In tunnel manger, click the Start button next to your new tunnel." +"In the new page, name and describe your new https tunnel as" +" you like.\n" +"The Access Point is your local port for the new https proxy " +"recommended port's 4445.\n" +"Outproxy should be the outproxy's .i2p address which supports " +"https. \n" +"See this forum post of h2ik's for the " +"address. \n" +"Make sure Shared Client, Delay Connect, AutoStart " +"are checked.\n" +"Other options should be left at the defaults. Click Save. In tunnel " +"manger, click the Start button next to your new tunnel." msgstr "" #: i2p2www/pages/site/faq.html:339 msgid "" -"In firefox, click through Tools>Options>Advanced>Network>Setting.\n" -"Untick Use this proxy for all protocol, set SSL proxy: to localhost:4445." +"In firefox, click through " +"Tools>Options>Advanced>Network>Setting." +"\n" +"Untick Use this proxy for all protocol, set SSL proxy: to " +"localhost:4445." msgstr "" #: i2p2www/pages/site/faq.html:344 @@ -1586,39 +2240,51 @@ msgstr "" #, python-format msgid "" "\n" -"This is a question that only you can answer because the correct answer depends on your behaviours, your\n" -"threat model, and how much you trust the outproxy operator." +"This is a question that only you can answer because the correct answer " +"depends on your behaviours, your\n" +"threat model, 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" -"The Tor FAQ\n" +"The Tor" +" FAQ\n" "does a good job of explaining this." msgstr "" #: i2p2www/pages/site/faq.html:360 #, python-format msgid "" -"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 %(zzz)s." +"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 %(zzz)s." msgstr "" #: i2p2www/pages/site/faq.html:368 msgid "" -"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 Tor." +"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 Tor." msgstr "" #: i2p2www/pages/site/faq.html:376 #, python-format msgid "" -"If you consider every eepsite that has ever been created, yes, most of them are down.\n" +"If you consider every eepsite that has ever been created, yes, most of " +"them are down.\n" "People and eepsites come and go.\n" -"A good way to get started in I2P is check out a list of eepsites that are currently up.\n" +"A good way to get started in I2P is check out a list of eepsites that are" +" currently up.\n" "%(perv)s tracks active eepsites." msgstr "" @@ -1630,34 +2296,46 @@ msgstr "" #: i2p2www/pages/site/faq.html:392 msgid "" -"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" +"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 "" -"In addition, you and everybody else probably need to increase your bandwidth limits.\n" +"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" "the configuration page.\n" -"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." +"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 "" -"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." +"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 "" -"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, install the latest release." +"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, install the latest " +"release." msgstr "" #: i2p2www/pages/site/faq.html:418 @@ -1670,20 +2348,28 @@ msgstr "" #: i2p2www/pages/site/faq.html:425 msgid "" "\n" -"On the\n" -"I2PTunnel configuration page,\n" -"start the ircProxy.\n" -"Then tell your IRC client to connect to localhost port 6668." +"A tunnel to the main IRC server within I2P, Irc2P, is created when I2P is" +" installed (see\n" +"the I2PTunnel " +"configuration page),\n" +"and is automatically started when the I2P router starts. To connect to " +"it, tell your IRC\n" +"client to connect to localhost 6668. XChat-like client users" +" can create a\n" +"new network with the server localhost/6668 (remember to tick" +" "Bypass\n" +"proxy server" if you have a proxy server configured)." msgstr "" -#: i2p2www/pages/site/faq.html:434 +#: i2p2www/pages/site/faq.html:436 msgid "" -"For security purposes, the router's admin console by default only listens\n" +"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 "" -#: i2p2www/pages/site/faq.html:442 +#: i2p2www/pages/site/faq.html:444 msgid "" "Open ~/.i2p/clients.config and replace
\n" "clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
\n" @@ -1691,67 +2377,85 @@ msgid "" "clientApp.0.args=7657 0.0.0.0 ./webapps/" msgstr "" -#: i2p2www/pages/site/faq.html:450 +#: i2p2www/pages/site/faq.html:452 msgid "" -"Go to http://localhost:7657/configadvanced.jsp\n" -"and add a new option: consolePassword=foo (or whatever password you want)" +"Go to http://localhost:7657/configadvanced.jsp" +"\n" +"and add a new option: consolePassword=foo (or whatever " +"password you want)" msgstr "" -#: i2p2www/pages/site/faq.html:456 +#: i2p2www/pages/site/faq.html:458 msgid "" -"Go to http://localhost:7657/index.jsp\n" -"and hit \"Graceful restart\", which restarts the JVM and reloads the client applications" +"Go to http://localhost:7657/index.jsp" +"\n" +"and hit \"Graceful restart\", which restarts the JVM and reloads the " +"client applications" msgstr "" -#: i2p2www/pages/site/faq.html:463 +#: i2p2www/pages/site/faq.html:465 msgid "" -"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" -"0.0.0.0 above specifies an interface, 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" +"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" +"0.0.0.0 above specifies an interface, 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 "" -#: i2p2www/pages/site/faq.html:474 +#: i2p2www/pages/site/faq.html:476 msgid "" -"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 i2cp.tcp.bindAllInterfaces=true and restart." -msgstr "" - -#: i2p2www/pages/site/faq.html:479 -msgid "Whats an \"eepsite\"?" +"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 " +"i2cp.tcp.bindAllInterfaces=true and restart." msgstr "" #: i2p2www/pages/site/faq.html:481 +msgid "Whats an \"eepsite\"?" +msgstr "" + +#: i2p2www/pages/site/faq.html:483 msgid "" -"An eepsite is a website that is hosted anonymously - you can access it by\n" +"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 "" -#: i2p2www/pages/site/faq.html:489 +#: i2p2www/pages/site/faq.html:491 #, python-format msgid "" -"The proxy config for different browsers is on a \n" -"separate page with screenshots. More advanced configs with external tools\n" +"The proxy config for different browsers is on a \n" +"separate page with screenshots. More advanced configs with external " +"tools\n" "are possible but could introduce leaks in your setup." msgstr "" -#: i2p2www/pages/site/faq.html:498 +#: i2p2www/pages/site/faq.html:500 msgid "" "x is the number of peers you've sent or received a message from\n" -"successfully in the last minute, y is the number of peers seen in the last\n" +"successfully in the last minute, y is the number of peers seen in the " +"last\n" "hour or so." msgstr "" -#: i2p2www/pages/site/faq.html:506 +#: i2p2www/pages/site/faq.html:508 msgid "" -"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.\n" +"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 "" -#: i2p2www/pages/site/faq.html:510 +#: 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" @@ -1759,56 +2463,67 @@ msgid "" "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" -"this, thus using I2P to 'socksify' existing applications is possible, but\n" +"this, thus using I2P to 'socksify' existing applications is possible, but" +"\n" "extremely dangerous." msgstr "" -#: i2p2www/pages/site/faq.html:520 +#: i2p2www/pages/site/faq.html:522 #, python-format msgid "" -"If you would like more information on the socks proxy application anyway,\n" +"If you would like more information on the socks proxy application anyway," +"\n" "there are some helpful hints on the socks page." msgstr "" -#: i2p2www/pages/site/faq.html:527 +#: 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 "" -#: i2p2www/pages/site/faq.html:536 +#: i2p2www/pages/site/faq.html:538 msgid "" "Internet-facing ports\n" -"Note: New installs as of release 0.7.8 do not use port 8887; they select a random port\n" +"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" -"The selected port is shown on the router configuration page." +"The selected port is shown on the router configuration page." msgstr "" -#: i2p2www/pages/site/faq.html:544 +#: i2p2www/pages/site/faq.html:546 msgid "" -"Outbound UDP from the random port noted on the configuration page to arbitrary remote UDP ports, allowing replies\n" +"Outbound UDP from the random port noted on the configuration page to " +"arbitrary remote UDP ports, allowing replies\n" " " msgstr "" -#: i2p2www/pages/site/faq.html:549 +#: i2p2www/pages/site/faq.html:551 msgid "" "Outbound TCP from random high ports to arbitrary remote TCP ports\n" " " msgstr "" -#: i2p2www/pages/site/faq.html:554 +#: i2p2www/pages/site/faq.html:556 msgid "" -"(optional, but recommended) Inbound UDP to the port noted on configuration page from arbitrary locations\n" +"(optional, but recommended) Inbound UDP to the port noted on configuration page from " +"arbitrary locations\n" " " msgstr "" -#: i2p2www/pages/site/faq.html:559 +#: i2p2www/pages/site/faq.html:561 msgid "" -"(optional, but recommended) Inbound TCP to the port noted on configuration page from arbitrary locations
\n" -"Inbound TCP may be disabled on the configuration page." +"(optional, but recommended) Inbound TCP to the port noted on configuration page from " +"arbitrary locations
\n" +"Inbound TCP may be disabled on the configuration page." msgstr "" -#: i2p2www/pages/site/faq.html:565 +#: i2p2www/pages/site/faq.html:567 msgid "" "Outbound UDP on port 123, allowing replies
\n" "This is necessary for I2P's internal time sync (via SNTP - \n" @@ -1816,299 +2531,369 @@ msgid "" "server you specify)" msgstr "" -#: i2p2www/pages/site/faq.html:576 +#: i2p2www/pages/site/faq.html:578 msgid "" "Local I2P ports, listening only to local connections by default,\n" "except where noted:" msgstr "" -#: i2p2www/pages/site/faq.html:582 +#: i2p2www/pages/site/faq.html:584 msgid "" "1900: UPnP SSDP UDP multicast listener.\n" "Cannot be changed. Binds to all interfaces.\n" -"May be disabled on confignet.jsp." +"May be disabled on confignet.jsp." msgstr "" -#: i2p2www/pages/site/faq.html:589 +#: i2p2www/pages/site/faq.html:591 msgid "" "2827: BOB bridge, a higher level socket API for clients\n" "Disabled by default.\n" -"May be enabled/disabled on configclients.jsp.\n" +"May be enabled/disabled on configclients.jsp.\n" "May be changed in the bob.config file." msgstr "" -#: i2p2www/pages/site/faq.html:597 +#: i2p2www/pages/site/faq.html:599 msgid "" "4444: HTTP proxy\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:604 +#: i2p2www/pages/site/faq.html:606 msgid "" "4445: HTTPS proxy\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:611 +#: i2p2www/pages/site/faq.html:613 msgid "" "6668: IRC proxy\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:618 +#: i2p2www/pages/site/faq.html:620 msgid "" "7652: UPnP HTTP TCP event listener.\n" "Binds to the LAN address.\n" "May be changed with advanced config i2np.upnp.HTTPPort=nnnn.\n" -"May be disabled on confignet.jsp." +"May be disabled on confignet.jsp." msgstr "" -#: i2p2www/pages/site/faq.html:626 +#: i2p2www/pages/site/faq.html:628 msgid "" "7653: UPnP SSDP UDP search response listener.\n" "Binds to all interfaces.\n" "May be changed with advanced config i2np.upnp.SSDPPort=nnnn.\n" -"May be disabled on confignet.jsp." +"May be disabled on confignet.jsp." msgstr "" -#: i2p2www/pages/site/faq.html:634 +#: i2p2www/pages/site/faq.html:636 msgid "" "7654: I2P Client Protocol port, used by client apps.\n" "May be changed to a different port on\n" -"configclients.jsp\n" +"configclients.jsp" +"\n" "but this is not recommended.\n" -"May be to bind to a different interface or all interfaces, or disabled, on\n" -"configclients.jsp." +"May be to bind to a different interface or all interfaces, or disabled, " +"on\n" +"configclients.jsp." msgstr "" -#: i2p2www/pages/site/faq.html:644 +#: i2p2www/pages/site/faq.html:646 msgid "" "7655: UDP for SAM bridge, a higher level socket API for clients\n" "Only opened when a SAM V3 client requests a UDP session.\n" -"May be enabled/disabled on configclients.jsp.\n" -"May be changed in the clients.config file with the SAM command line option sam.udp.port=nnnn." +"May be enabled/disabled on configclients.jsp.\n" +"May be changed in the clients.config file with the SAM command line " +"option sam.udp.port=nnnn." msgstr "" -#: i2p2www/pages/site/faq.html:652 +#: i2p2www/pages/site/faq.html:654 msgid "" "7656: SAM bridge, a higher level socket API for clients\n" "Disabled by default for new installs as of release 0.6.5.\n" -"May be enabled/disabled on configclients.jsp.\n" +"May be enabled/disabled on configclients.jsp.\n" "May be changed in the clients.config file." msgstr "" -#: i2p2www/pages/site/faq.html:660 +#: i2p2www/pages/site/faq.html:662 msgid "" "7657: Your router console\n" "May be disabled in the clients.config file.\n" -"May also be configured to be bound to a specific interface or all interfaces in that file." +"May also be configured to be bound to a specific interface or all " +"interfaces in that file." msgstr "" -#: i2p2www/pages/site/faq.html:667 +#: i2p2www/pages/site/faq.html:669 msgid "" "7658: Your eepsite\n" "May be disabled in the clients.config file.\n" -"May also be configured to be bound to a specific interface or all interfaces in the jetty.xml file." +"May also be configured to be bound to a specific interface or all " +"interfaces in the jetty.xml file." msgstr "" -#: i2p2www/pages/site/faq.html:674 +#: i2p2www/pages/site/faq.html:676 msgid "" "7659: Outgoing mail to smtp.postman.i2p\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:681 +#: i2p2www/pages/site/faq.html:683 msgid "" "7660: Incoming mail from pop.postman.i2p\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:688 +#: i2p2www/pages/site/faq.html:690 msgid "" "8998: mtn.i2p2.i2p (Monotone - disabled by default)\n" -"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." +"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." msgstr "" -#: i2p2www/pages/site/faq.html:695 +#: i2p2www/pages/site/faq.html:697 msgid "" "31000: Local connection to the wrapper control channel port.\n" "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" -"wrapper documentation.\n" +"wrapper documentation.\n" "For more information see below." msgstr "" -#: i2p2www/pages/site/faq.html:705 +#: i2p2www/pages/site/faq.html:707 msgid "" "32000: Local control channel for the service wrapper.\n" "To change, see the\n" -"wrapper documentation.\n" +"wrapper documentation.\n" "For more information see below." msgstr "" -#: i2p2www/pages/site/faq.html:717 +#: i2p2www/pages/site/faq.html:719 msgid "" -"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" +"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 "" -#: i2p2www/pages/site/faq.html:725 +#: i2p2www/pages/site/faq.html:727 msgid "" -"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 outbound facing port, 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" +"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 " +"outbound facing port, 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 "" -#: i2p2www/pages/site/faq.html:733 +#: i2p2www/pages/site/faq.html:735 msgid "Why is I2P listening on port 32000?" msgstr "" -#: i2p2www/pages/site/faq.html:735 +#: i2p2www/pages/site/faq.html:737 msgid "" -"The Tanuki java service wrapper that we use opens this port—bound to localhost—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" +"The Tanuki java service wrapper that we use opens this port—bound " +"to localhost—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 "" -#: i2p2www/pages/site/faq.html:741 +#: i2p2www/pages/site/faq.html:743 msgid "" "More information can be found in the \n" -"wrapper documentation." +"wrapper documentation." msgstr "" -#: i2p2www/pages/site/faq.html:748 +#: i2p2www/pages/site/faq.html:750 msgid "" -"An I2P router only needs to be seeded once, to join the network for the first time.\n" +"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 "" -#: i2p2www/pages/site/faq.html:755 +#: i2p2www/pages/site/faq.html:757 msgid "" "A typical symptom of a failed reseed is the \"Known\" indicator\n" -"(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" +"(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 "" -#: i2p2www/pages/site/faq.html:762 +#: i2p2www/pages/site/faq.html:764 msgid "To reseed an I2P router manually, do the following:" msgstr "" -#: i2p2www/pages/site/faq.html:765 +#: i2p2www/pages/site/faq.html:767 msgid "Stop your I2P router" msgstr "" -#: i2p2www/pages/site/faq.html:768 -msgid "Open http://netdb.i2p2.de/ using a web browser" +#: i2p2www/pages/site/faq.html:770 +msgid "" +"Open http://netdb.i2p2.de/ using a " +"web browser" msgstr "" -#: i2p2www/pages/site/faq.html:771 +#: i2p2www/pages/site/faq.html:773 msgid "Save a dozen \"routerInfo\" files to your I2P \"netDb\" directory" msgstr "" -#: i2p2www/pages/site/faq.html:778 +#: i2p2www/pages/site/faq.html:780 msgid "Start your I2P router" msgstr "" -#: i2p2www/pages/site/faq.html:785 -msgid "When trying to start the router using \"i2prouter start\", you may see output like the following:" +#: i2p2www/pages/site/faq.html:787 +msgid "" +"When trying to start the router using \"i2prouter start\", you may see " +"output like the following:" msgstr "" -#: i2p2www/pages/site/faq.html:790 +#: i2p2www/pages/site/faq.html:792 msgid "" "\n" -"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 java wrapper \n" -"compiled for FreeBSD 6.x. If you're receiving this error you most likely are missing the necessary compatibility libraries.\n" +"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 java wrapper \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 "" -#: i2p2www/pages/site/faq.html:798 -msgid "Switch to the root user with su or log in as root." +#: i2p2www/pages/site/faq.html:800 +msgid "" +"Switch to the root user with su or log in as " +"root." msgstr "" -#: i2p2www/pages/site/faq.html:804 +#: i2p2www/pages/site/faq.html:806 #, python-format msgid "" -"If you cannot install these compatibility libraries (or do not want to), other\n" -"possibilities would be to compile the wrapper for your\n" -"system, starting I2P with the runplain.sh script, or you can\n" +"If you cannot install these compatibility libraries (or do not want to), " +"other\n" +"possibilities would be to compile the wrapper for your\n" +"system, starting I2P with the runplain.sh script, or you" +" can\n" "replace the wrapper with one from the source tarball." msgstr "" -#: i2p2www/pages/site/faq.html:810 -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:814 -msgid "In wrapper.log I see an error that states \"Protocol family unavailable\" when loading the Router Console" +#: 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 -msgid "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:" +msgid "" +"In wrapper.log I see an error that states \"Protocol " +"family unavailable\" when loading the Router Console" msgstr "" -#: i2p2www/pages/site/faq.html:821 -msgid "On Linux based systems, you can echo 0 > /proc/sys/net/ipv6/bindv6only" +#: i2p2www/pages/site/faq.html:818 +msgid "" +"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 +msgid "" +"On Linux based systems, you can echo 0 > " +"/proc/sys/net/ipv6/bindv6only" +msgstr "" + +#: i2p2www/pages/site/faq.html:825 msgid "Look for the following lines in wrapper.config." msgstr "" -#: i2p2www/pages/site/faq.html:827 -msgid "If the lines are there, uncomment them by removing the \"#\"s. If the lines are not there, add them without the \"#\"s." -msgstr "" - -#: i2p2www/pages/site/faq.html:830 -msgid "Another option would be to remove the ::1 from ~/.i2p/clients.config" -msgstr "" - -#: i2p2www/pages/site/faq.html:834 +#: i2p2www/pages/site/faq.html:829 msgid "" -"WARNING: For any changes to wrapper.config to take effect, you must completely\n" +"If the lines are there, uncomment them by removing the \"#\"s. If the " +"lines are not there, add them without the \"#\"s." +msgstr "" + +#: i2p2www/pages/site/faq.html:832 +msgid "" +"Another option would be to remove the ::1 from " +"~/.i2p/clients.config" +msgstr "" + +#: i2p2www/pages/site/faq.html:836 +msgid "" +"WARNING: For any changes to wrapper.config " +"to take effect, you must completely\n" "stop the router and the wrapper. Clicking Restart on your\n" "router console will NOT reread this file! You must\n" "click Shutdown, wait 11 minutes, then start I2P." msgstr "" -#: i2p2www/pages/site/faq.html:845 +#: i2p2www/pages/site/faq.html:847 #, python-format msgid "" "Great! Find us on IRC irc.freenode.net #i2p or post to\n" "the forum and we'll post it here (with\n" "the answer, hopefully)." -msgstr "Bestens! Du findest uns im IRC auf irc.freenode.net im Kanal #i2p oder frage im Forum und wir werden das hier anfügen (mit der Antwort, hoffentlich)." +msgstr "" +"Bestens! Du findest uns im IRC auf irc.freenode.net im Kanal #i2p oder " +"frage im Forum und wir werden das hier " +"anfügen (mit der Antwort, hoffentlich)." #: i2p2www/pages/site/impressum.html:4 -msgid "German laws..." +msgid "German laws" msgstr "" #: i2p2www/pages/site/index.html:2 msgid "I2P Anonymous Network" msgstr "" -#: i2p2www/pages/site/index.html:3 -msgid "The Invisible Internet Project" -msgstr "" - #: i2p2www/pages/site/index.html:4 -msgid "Anonymous peer-to-peer distributed communication layer built with open source tools and designed to run any traditional Internet service such as email, IRC or web hosting." +msgid "" +"Anonymous peer-to-peer distributed communication layer built with open " +"source tools and designed to run any traditional Internet service such as" +" email, IRC or web hosting." msgstr "" #: i2p2www/pages/site/index.html:7 @@ -2116,7 +2901,10 @@ msgid "What does I2P do for you?" msgstr "" #: i2p2www/pages/site/index.html:8 -msgid "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." +msgid "" +"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 @@ -2129,15 +2917,25 @@ msgid "What is I2P?" msgstr "" #: i2p2www/pages/site/index.html:15 -msgid "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" +msgid "" +"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 -msgid "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" +msgid "" +"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 -msgid "I2P runs on Java and is therefore available anywhere Java will run, including desktops, embedded systems (like the Raspberry Pi) and Android phones.\n" +msgid "" +"I2P runs on Java and is therefore available anywhere Java will run, " +"including desktops, embedded systems (like the Raspberry Pi) and Android" +" phones.\n" msgstr "" #: i2p2www/pages/site/index.html:25 @@ -2150,37 +2948,51 @@ msgstr "" #: i2p2www/pages/site/index.html:33 #, python-format -msgid "Email Integrated web mail interface, plugin for serverless email." +msgid "" +"Email Integrated web mail interface, " +"plugin for serverless email." msgstr "" #: i2p2www/pages/site/index.html:38 #, python-format -msgid "Web browsing Anonymous websites, gateways to and from the public Internet." +msgid "" +"Web browsing Anonymous " +"websites, gateways to and from the public Internet." msgstr "" #: i2p2www/pages/site/index.html:43 #, python-format -msgid "Blogging and forums Blogging and Syndie plugins." +msgid "" +"Blogging and forums " +"Blogging and Syndie plugins." msgstr "" #: i2p2www/pages/site/index.html:48 #, python-format -msgid "Website hosting Integrated anonymous web server." +msgid "" +"Website hosting Integrated " +"anonymous web server." msgstr "" #: i2p2www/pages/site/index.html:53 #, python-format -msgid "Real-time chat Instant messaging and IRC clients." +msgid "" +"Real-time chat Instant " +"messaging and IRC clients." msgstr "" #: i2p2www/pages/site/index.html:58 #, python-format -msgid "File sharing ED2K and Gnutella clients, integrated BitTorrent client." +msgid "" +"File sharing ED2K and Gnutella" +" clients, integrated BitTorrent client." msgstr "" #: i2p2www/pages/site/index.html:63 #, python-format -msgid "Decentralized file storage Tahoe-LAFS distributed filesystem plugin." +msgid "" +"Decentralized file " +"storage Tahoe-LAFS distributed filesystem plugin." msgstr "" #: i2p2www/pages/site/index.html:68 @@ -2200,7 +3012,8 @@ msgstr "" #, python-format msgid "" "See also the page with\n" -"links to papers, presentations, videos, and tutorials about I2P." +"links to presentations, videos, and tutorials about" +" I2P." msgstr "" #: i2p2www/pages/site/links.html:12 @@ -2223,6 +3036,8871 @@ msgstr "" msgid "Very Old Stuff" msgstr "" +#: i2p2www/pages/site/about/browser-config.html:2 +msgid "Web Browser Configuration" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:5 +msgid "" +"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" +"the most popular browsers." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:11 +msgid "How to configure your browser" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:17 +#: i2p2www/pages/site/about/browser-config.html:73 +msgid "Outproxy Terms Of Service" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:22 +msgid "Internet Explorer 8 or Chrome" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:23 +msgid "" +"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" +"proxy port configuration." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:28 +msgid "IE Internet Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:29 +msgid "" +"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" +"settings and your browser is set to use the I2P proxy." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:36 +msgid "IE Proxy Settings" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:40 +msgid "" +"From the Tools menu, select Options to bring up the Firefox settings " +"panel.\n" +"Click the icon labelled Advanced, then click on the " +"Network\n" +"tab. In the Connections section, click on the Settings button. " +"You'll\n" +"see a Window like the following:" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:46 +msgid "Firefox Network Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:47 +msgid "" +"In the Connection Settings window, click the circle next to " +"Manual\n" +" proxy configuration, then enter 127.0.0.1, port 4444 in the HTTP" +" Proxy\n" +"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 "" + +#: i2p2www/pages/site/about/browser-config.html:53 +msgid "Firefox Proxy Settings" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:57 +msgid "" +"From the Settings menu, select Configure Konqueror. In " +"the\n" +"Web Browsing group on the left side, select Proxy Services.\n" +"In this new window, select the option \"Manually specify the proxy " +"settings\" and\n" +"click the Setup box." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:63 +msgid "Konqueror Proxy Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:64 +msgid "" +"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 New button in the Exceptions section. Enter" +"\n" +"localhost and click OK. Click the New button once more and enter" +"\n" +"127.0.0.1 and OK. Hit OK once more to close the configuration window." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:70 +msgid "Konqueror Proxy Ports" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:74 +msgid "" +"Remember: I2P was not designed for creating proxies to the outer " +"Internet.\n" +"Instead, it is meant to be used as an internal network." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:78 +msgid "" +"The I2P project itself does not run any proxies to the Internet. Any " +"such proxy\n" +"services are run by by private volunteers and could be shut down or\n" +"unreachable at anytime." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:83 +msgid "" +"By default, I2P comes with two outproxies configured: " +"false.i2p\n" +"(an HTTP-only proxy) and outproxyng.h2ik.i2p (an HTTPS proxy" +"\n" +"routed through Tor." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:88 +msgid "" +"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" +"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 "" + +#: i2p2www/pages/site/about/browser-config.html:94 +#, python-format +msgid "" +"Filtering is active on these outproxies (for example, mibbit and torrent\n" +"tracker access is blocked). Note that even though the pirate bay is " +"blocked\n" +"they host an official eepsite at %(tpb)s. " +"Eepsites\n" +"that are accessible via .i2p addresses are also not allowed via the " +"outproxies.\n" +"As a convenience, False.i2p blocks ad servers." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:101 +msgid "" +"Tor is good application to use" +" as an\n" +"outproxy to the Internet." +msgstr "" + +#: i2p2www/pages/site/about/glossary.html:4 +msgid "" +"This page lists often-used terminology when discussing I2P and " +"cryptography." +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:2 +msgid "Hall Of Fame" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:5 +msgid "I2P's Hall of Fame" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:6 +#, python-format +msgid "Current balance: as of %(date)s" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:9 +#: i2p2www/pages/site/about/hall-of-fame.html:46 +#: i2p2www/pages/site/about/hall-of-fame.html:53 +#: i2p2www/pages/site/about/hall-of-fame.html:54 +#: i2p2www/pages/site/about/hall-of-fame.html:55 +#: i2p2www/pages/site/about/hall-of-fame.html:56 +#: i2p2www/pages/site/about/hall-of-fame.html:58 +#: i2p2www/pages/site/about/hall-of-fame.html:59 +#: i2p2www/pages/site/about/hall-of-fame.html:60 +#: i2p2www/pages/site/about/hall-of-fame.html:63 +#: i2p2www/pages/site/about/hall-of-fame.html:64 +#: i2p2www/pages/site/about/hall-of-fame.html:65 +#: i2p2www/pages/site/about/hall-of-fame.html:68 +#: i2p2www/pages/site/about/hall-of-fame.html:69 +#: i2p2www/pages/site/about/hall-of-fame.html:70 +#: i2p2www/pages/site/about/hall-of-fame.html:71 +#: i2p2www/pages/site/about/hall-of-fame.html:72 +#: i2p2www/pages/site/about/hall-of-fame.html:73 +#: i2p2www/pages/site/about/hall-of-fame.html:74 +#: i2p2www/pages/site/about/hall-of-fame.html:75 +#: i2p2www/pages/site/about/hall-of-fame.html:76 +#: i2p2www/pages/site/about/hall-of-fame.html:77 +#: i2p2www/pages/site/about/hall-of-fame.html:78 +#: i2p2www/pages/site/about/hall-of-fame.html:79 +#: i2p2www/pages/site/about/hall-of-fame.html:80 +#: i2p2www/pages/site/about/hall-of-fame.html:83 +#: i2p2www/pages/site/about/hall-of-fame.html:84 +#: i2p2www/pages/site/about/hall-of-fame.html:85 +#: i2p2www/pages/site/about/hall-of-fame.html:86 +#: i2p2www/pages/site/about/hall-of-fame.html:87 +#: i2p2www/pages/site/about/hall-of-fame.html:88 +#: i2p2www/pages/site/about/hall-of-fame.html:90 +#: i2p2www/pages/site/about/hall-of-fame.html:91 +#: i2p2www/pages/site/about/hall-of-fame.html:94 +#: i2p2www/pages/site/about/hall-of-fame.html:95 +#: i2p2www/pages/site/about/hall-of-fame.html:96 +#: i2p2www/pages/site/about/hall-of-fame.html:97 +#: i2p2www/pages/site/about/hall-of-fame.html:98 +#: i2p2www/pages/site/about/hall-of-fame.html:100 +#: i2p2www/pages/site/about/hall-of-fame.html:101 +#: i2p2www/pages/site/about/hall-of-fame.html:102 +#: i2p2www/pages/site/about/hall-of-fame.html:103 +#: i2p2www/pages/site/about/hall-of-fame.html:104 +#: i2p2www/pages/site/about/hall-of-fame.html:105 +#: i2p2www/pages/site/about/hall-of-fame.html:107 +#: i2p2www/pages/site/about/hall-of-fame.html:108 +#: i2p2www/pages/site/about/hall-of-fame.html:109 +#: i2p2www/pages/site/about/hall-of-fame.html:110 +#: i2p2www/pages/site/about/hall-of-fame.html:112 +#: i2p2www/pages/site/about/hall-of-fame.html:113 +#: i2p2www/pages/site/about/hall-of-fame.html:114 +#: i2p2www/pages/site/about/hall-of-fame.html:115 +#: i2p2www/pages/site/about/hall-of-fame.html:116 +#: i2p2www/pages/site/about/hall-of-fame.html:119 +#: i2p2www/pages/site/about/hall-of-fame.html:120 +#: i2p2www/pages/site/about/hall-of-fame.html:121 +#: i2p2www/pages/site/about/hall-of-fame.html:122 +#: i2p2www/pages/site/about/hall-of-fame.html:124 +#: i2p2www/pages/site/about/hall-of-fame.html:125 +#: i2p2www/pages/site/about/hall-of-fame.html:126 +#: i2p2www/pages/site/about/hall-of-fame.html:128 +#: i2p2www/pages/site/about/hall-of-fame.html:129 +#: i2p2www/pages/site/about/hall-of-fame.html:130 +#: i2p2www/pages/site/about/hall-of-fame.html:131 +#: i2p2www/pages/site/about/hall-of-fame.html:133 +#: i2p2www/pages/site/about/hall-of-fame.html:134 +#: i2p2www/pages/site/about/hall-of-fame.html:135 +#: i2p2www/pages/site/about/hall-of-fame.html:136 +#: i2p2www/pages/site/about/hall-of-fame.html:137 +#: i2p2www/pages/site/about/hall-of-fame.html:143 +#: i2p2www/pages/site/about/hall-of-fame.html:146 +#: 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:150 +#: 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 +#: 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:165 +#: i2p2www/pages/site/about/hall-of-fame.html:166 +#: i2p2www/pages/site/about/hall-of-fame.html:167 +#: i2p2www/pages/site/about/hall-of-fame.html:168 +#: i2p2www/pages/site/about/hall-of-fame.html:170 +#: i2p2www/pages/site/about/hall-of-fame.html:171 +#: 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:183 +#: 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:190 +#: 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:195 +#: 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 +#: 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:207 +#: 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:216 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:223 +#: i2p2www/pages/site/about/hall-of-fame.html:224 +#: i2p2www/pages/site/about/hall-of-fame.html:225 +#: i2p2www/pages/site/about/hall-of-fame.html:226 +#: i2p2www/pages/site/about/hall-of-fame.html:227 +#: i2p2www/pages/site/about/hall-of-fame.html:229 +#: 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:235 +#: i2p2www/pages/site/about/hall-of-fame.html:236 +#: i2p2www/pages/site/about/hall-of-fame.html:237 +#: i2p2www/pages/site/about/hall-of-fame.html:239 +#: i2p2www/pages/site/about/hall-of-fame.html:240 +#: i2p2www/pages/site/about/hall-of-fame.html:241 +#: i2p2www/pages/site/about/hall-of-fame.html:242 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:256 +#: i2p2www/pages/site/about/hall-of-fame.html:259 +#: i2p2www/pages/site/about/hall-of-fame.html:260 +#: i2p2www/pages/site/about/hall-of-fame.html:263 +#: i2p2www/pages/site/about/hall-of-fame.html:264 +#: i2p2www/pages/site/about/hall-of-fame.html:266 +#: i2p2www/pages/site/about/hall-of-fame.html:267 +#: 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:286 +#: i2p2www/pages/site/about/hall-of-fame.html:287 +#: i2p2www/pages/site/about/hall-of-fame.html:288 +#: 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:296 +#: 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:306 +#: i2p2www/pages/site/about/hall-of-fame.html:307 +#: 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:313 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:323 +#: 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 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:335 +#: i2p2www/pages/site/about/hall-of-fame.html:338 +#: 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:342 +#: i2p2www/pages/site/about/hall-of-fame.html:343 +#: 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:346 +#: i2p2www/pages/site/about/hall-of-fame.html:347 +#: 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:350 +#: i2p2www/pages/site/about/hall-of-fame.html:351 +#: i2p2www/pages/site/about/hall-of-fame.html:353 +#: i2p2www/pages/site/about/hall-of-fame.html:354 +#: i2p2www/pages/site/about/hall-of-fame.html:355 +#: i2p2www/pages/site/about/hall-of-fame.html:357 +#: i2p2www/pages/site/about/hall-of-fame.html:360 +#: i2p2www/pages/site/about/hall-of-fame.html:361 +#: i2p2www/pages/site/about/hall-of-fame.html:362 +#: i2p2www/pages/site/about/hall-of-fame.html:363 +#: i2p2www/pages/site/about/hall-of-fame.html:364 +#: 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 +#: 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 +msgid "General fund" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:10 +#: i2p2www/pages/site/about/hall-of-fame.html:12 +#: i2p2www/pages/site/about/hall-of-fame.html:20 +#, python-format +msgid "%(euroval)s € and %(btcval)s BTC" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:11 +msgid "Datastorage bounty" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:13 +msgid "Native IPv6 I2P" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:14 +#: 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 +msgid "%(euroval)s €" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:15 +msgid "I2PHex bounty" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:17 +msgid "I2P in debian mirrors" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:19 +#: i2p2www/pages/site/get-involved/bounties/index.html:67 +msgid "Bitcoin client for I2P" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:21 +msgid "Unit Tests for I2P router" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:23 +msgid "Bounty Robert" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:24 +msgid "Bounty Syndie" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:27 +msgid "Current monthly running costs:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:38 +msgid "Big thanks go to the following people who have donated to I2P!" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:39 +#, python-format +msgid "" +"If you have made a donation, please send an email to echelon\n" +"with your name or nick (and optionally homepage) so we can list you here." +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:44 +msgid "Current monthly subscriptions:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:177 +msgid "2011 donations and costs:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:278 +msgid "Previous to 2011 donations:" +msgstr "" + +#: i2p2www/pages/site/about/intro.html:2 +msgid "Intro" +msgstr "" + +#: i2p2www/pages/site/about/intro.html:5 +msgid "" +"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" +"strictly message based (a la \n" +"IP), but " +"there is a \n" +"library available to allow reliable streaming communication on top of it " +"(a la \n" +"TCP)." +" \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 public " +"keys)." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:19 +#, python-format +msgid "" +"To anonymize the messages sent, each client application has their I2P " +"\"router\"\n" +"build a few inbound and outbound \"tunnels\" - 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" +"receiver's threat model." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:33 +#, python-format +msgid "" +"The first time a client wants to contact another client, they make a " +"query \n" +"against the fully distributed \"network \n" +"database\" - a custom structured \n" +"distributed hash table (DHT) based off the \n" +" Kademlia " +"algorithm. 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" +"are required." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:44 +#, python-format +msgid "More details about how I2P works are available." +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" +"functionality, and those that typically use TCP can use the TCP-like " +"streaming\n" +"library. We have a generic TCP/I2P bridge application \n" +"(\"I2PTunnel\") that enables people to " +"forward TCP streams\n" +"into the I2P network as well as to receive streams out of the network and" +" \n" +"forward them towards a specific TCP/IP address." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:60 +msgid "" +"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" +"build an optimized swarming file transfer application (a la \n" +"BitTorrent), a \n" +"distributed data store (a la Freenet / \n" +"MNet), and a blogging system (a " +"fully \n" +"distributed LiveJournal), but" +" those are \n" +"not ready for use yet." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:76 +msgid "" +"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 squid 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" +"certain circumstances the technique could be appropriate." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:90 +#, python-format +msgid "" +"The I2P development team is an open group, " +"welcome to all \n" +"who are interested in getting involved, and" +" all of \n" +"the code is open source. The core I2P SDK " +"and the \n" +"current router implementation is done in Java (currently working with " +"both \n" +"sun and kaffe, gcj support planned for later), and there is a \n" +"simple socket based API 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 roadmap " +"describes \n" +"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 "" +"Following are links to presentations, videos, and tutorials about I2P. " +"Links to research papers on I2P are available here." +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" +"MP3 audio\n" +"transcript\n" +"Lance James (0x90), February 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:27 +#, python-format +msgid "" +"IIP Presentation at ToorCon\n" +"MP3 audio\n" +"slides\n" +"Lance James (0x90), September 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:35 +#, python-format +msgid "" +"To Be or I2P\n" +"(Youtube Video)\n" +"An introduction into anonymous communication with I2P.\n" +"To Be or I2P (PDF presentation),\n" +"Jens Kubieziel, 24C3 Berlin, December 28, 2007." +msgstr "" + +#: i2p2www/pages/site/about/media.html:44 +#, python-format +msgid "" +"Video of I2P talk at Chemnitz Linux Tag,\n" +"Lars Schimmer,\n" +"March 14-15, 2009" +msgstr "" + +#: i2p2www/pages/site/about/media.html:50 +#, python-format +msgid "" +"HOPE New York July 17, 2010 - Brief overview of I2P by zzz, at the end of" +" Adrian Hong's talk\n" +"\"Hackers for Human Rights\".\n" +"MP3 audio" +msgstr "" + +#: i2p2www/pages/site/about/media.html:56 +#, python-format +msgid "" +"Into the I2P Darknet: Welcome to Cipherspace\n" +"Adrian Crenshaw. Schmoocon Firetalk, January 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:61 +#, python-format +msgid "" +"Using techhnology to advance liberty\n" +"(Youtube Video)\n" +"Eric Johnson.\n" +"Agora I/O Unconference, March 27," +" 2011.\n" +"I2P covered from 10:00 to 20:00 in the video." +msgstr "" + +#: i2p2www/pages/site/about/media.html:69 +#, python-format +msgid "" +"The Bright side of darknets, FOSSCOMM Patras May " +"2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:73 +#, python-format +msgid "" +"Common Darknet Weaknesses\n" +"(Youtube Video)\n" +"Adrian Crenshaw, AIDE, July " +"11-15, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:79 +#, python-format +msgid "" +"I2P / Tor Workshop Notes\n" +"Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:84 +#, python-format +msgid "" +"Cipherspaces/Darknets: An Overview Of Attack " +"Strategies -\n" +"DEF CON Live version (Youtube Video),\n" +"\"Studio\" version (Youtube Video),\n" +"Slides (ppt)\n" +"Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:94 +msgid "" +"Modern cipherspace ecosystems, 0x375 " +"0x06 4/11/2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:100 +msgid "Tutorials" +msgstr "" + +#: i2p2www/pages/site/about/media.html:103 +#, python-format +msgid "" +"I2P Windows Tutorial\n" +"(Youtube Video)\n" +"This guide will show you how to install I2P in Windows XP.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:111 +#, python-format +msgid "" +"I2P Debian Tutorial\n" +"(Youtube Video)\n" +"This will guide you through how to install I2P on a Debian Linux System.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:119 +#, python-format +msgid "" +"How to set up anonymous site in I2P\n" +"(Youtube Video)\n" +"How to set up an anonymous web site in I2P.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:126 +#, python-format +msgid "" +"I2P Tutorial Mac OS X\n" +"(Youtube Video)\n" +"A tutorial on how to run i2p on Mac OS X and how to connect to " +"irc.telecomix.i2p.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:133 +#, python-format +msgid "" +"Felix Atari explains the basic principles of I2P" +"\n" +"(Youtube Video)\n" +"Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:140 +#, python-format +msgid "" +"How to get onto I2P, the anonymous P2P Darknet " +"(Windows Install)\n" +"(Youtube Video)\n" +"This tutorial shows how to install and configure software needed to " +"access I2P." +msgstr "" + +#: i2p2www/pages/site/about/media.html:146 +#, python-format +msgid "" +"How to connect to I2P\n" +"(Youtube Video)\n" +"How to install I2P on Ubuntu." +msgstr "" + +#: i2p2www/pages/site/about/media.html:152 +#, python-format +msgid "" +"Installing the I2P darknet software in Linux\n" +"(Video)\n" +"Adrian Crenshaw.\n" +"January 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:159 +#, python-format +msgid "" +"Short garlic routing animation\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" +"Part 1\n" +"Part 2\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" +"English translation\n" +"October 31, 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:185 +#, python-format +msgid "" +"2003 Business Week article referencing " +"invisiblenet" +msgstr "" + +#: i2p2www/pages/site/about/media.html:189 +#, python-format +msgid "" +"Netzwelt.de article about being anonymous in the " +"Internet\n" +"(German)\n" +"November 2007." +msgstr "" + +#: i2p2www/pages/site/about/media.html:195 +#, python-format +msgid "" +"zzz interviewed by gulli.com\n" +"March 2009\n" +"German translation\n" +"Russian translation" +msgstr "" + +#: i2p2www/pages/site/about/media.html:204 +#, python-format +msgid "" +"zzz interviewed on the InfoSec Daily Podcast Ep. 454 " +"(mp3)\n" +"August 18, 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:209 +#, python-format +msgid "" +"I2P - Anonymity for the Masses,\n" +"Jonathan Cox,\n" +"November 11, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:215 +#, python-format +msgid "" +"zzz and Lance James interviewed on the InfoSec Daily " +"Podcast Ep. 596 (mp3)\n" +"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 "" +"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" +"network.\n" +"Get involved!" +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 "Forum 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 "Monotone 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 +#: i2p2www/pages/site/about/team.html:81 i2p2www/pages/site/about/team.html:91 +#: i2p2www/pages/site/about/team.html:101 +#: 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 +#: i2p2www/pages/site/about/team.html:201 +#: i2p2www/pages/site/about/team.html:219 +#: 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:70 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +#: i2p2www/pages/site/get-involved/bounties/index.html:97 +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 "Webserver 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 "Website 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 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +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 "I2P mail 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 "I2Host lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:119 +msgid "I2Host addressbook application" +msgstr "" + +#: i2p2www/pages/site/about/team.html:122 +#, python-format +msgid "BOB lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:124 +msgid "Basic Open Bridge" +msgstr "" + +#: i2p2www/pages/site/about/team.html:127 +#, python-format +msgid "I2P-Bote lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:129 +msgid "I2PBote plugin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:132 +#, python-format +msgid "Robert lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:134 +msgid "Robert BitTorrent client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:137 +#, python-format +msgid "I2Phex lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:139 +msgid "I2Phex Gnutella client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:142 +#, python-format +msgid "I2PSnark 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 "iMule 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 "Syndie 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 +msgid "Console Translations" +msgstr "" + +#: i2p2www/pages/site/about/team.html:174 +msgid "Chinese" +msgstr "" + +#: i2p2www/pages/site/about/team.html:178 +msgid "Dutch" +msgstr "" + +#: i2p2www/pages/site/about/team.html:182 +msgid "French" +msgstr "" + +#: i2p2www/pages/site/about/team.html:186 +msgid "German" +msgstr "" + +#: i2p2www/pages/site/about/team.html:190 +msgid "Russian" +msgstr "" + +#: i2p2www/pages/site/about/team.html:194 +msgid "Spanish" +msgstr "" + +#: i2p2www/pages/site/about/team.html:198 +msgid "Arabic" +msgstr "" + +#: i2p2www/pages/site/about/team.html:202 +msgid "Other languages" +msgstr "" + +#: i2p2www/pages/site/about/team.html:205 +msgid "Contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:207 +msgid "fire2pe dev, console enhancements" +msgstr "" + +#: i2p2www/pages/site/about/team.html:211 +msgid "desktopgui, dijjer port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:215 +msgid "Debian/Ubuntu Packager and PPA maintainer" +msgstr "" + +#: i2p2www/pages/site/about/team.html:220 +msgid "Help needed on many fronts!" +msgstr "" + +#: i2p2www/pages/site/about/team.html:224 +msgid "Past contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:226 +msgid "I2PTunnel development, ministreaming library" +msgstr "" + +#: i2p2www/pages/site/about/team.html:230 +msgid "Project lead, Syndie lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:234 +msgid "Project lead, Syndie lead, I2Phex, support guru" +msgstr "" + +#: i2p2www/pages/site/about/team.html:238 +msgid "iMule lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:242 +#: i2p2www/pages/site/about/team.html:246 +#: i2p2www/pages/site/about/team.html:250 +msgid "I2Phex work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:254 +msgid "Python SAM library, attack simulations" +msgstr "" + +#: i2p2www/pages/site/about/team.html:258 +msgid "i2pmail development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:262 +msgid "Syndie help" +msgstr "" + +#: i2p2www/pages/site/about/team.html:266 +msgid "i2p mail,susimail and susidns apps" +msgstr "" + +#: i2p2www/pages/site/about/team.html:270 +msgid "I2Phex (port of Phex to I2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:274 +msgid "addressbook,i2p-bt,syndie client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:278 +msgid "organize and develop the i2p-bt BitTorrent port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:282 +msgid "addressbook, i2p-bt, syndie client development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:286 +msgid "encryption and signature routines, I2PIM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:290 +msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:294 +msgid "installer, systray, bogobot" +msgstr "" + +#: i2p2www/pages/site/about/team.html:298 +msgid "jbigi development, wiki migration, doc cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:302 +msgid "java debugging and client development on I2PTunnel and the router console" +msgstr "" + +#: i2p2www/pages/site/about/team.html:306 +msgid "SAM perl module" +msgstr "" + +#: i2p2www/pages/site/about/team.html:310 +msgid "i2psnark work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:314 +msgid "java cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:318 +msgid "docs. wiki migration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:322 +msgid "translations into French" +msgstr "" + +#: i2p2www/pages/site/about/team.html:326 +msgid "C port of jcpuid" +msgstr "" + +#: i2p2www/pages/site/about/team.html:330 +msgid "C# SAM library, pants, fortuna integration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:334 +msgid "libSAM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:338 +#: i2p2www/pages/site/about/team.html:342 +msgid "i2p-bt tracker development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:346 +msgid "Console and website themes" +msgstr "" + +#: i2p2www/pages/site/about/team.html:349 +msgid "… 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 +#: i2p2www/pages/site/docs/protocol/i2np.html:3 +#: i2p2www/pages/site/docs/protocol/index.html:3 +#: i2p2www/pages/site/docs/spec/datagrams.html:3 +#: i2p2www/pages/site/docs/transport/ntcp.html:3 +msgid "August 2010" +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:7 +msgid "" +"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" +"related, and others still are protocol related. However, all of those\n" +"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" +"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 \n" +"Performance History." +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 "" +"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" +"ourselves to a Sybil 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 "" +"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" +"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 "" +"The way the ElGamal/AES+SessionTag " +"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" +"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" +"ElGamal/AES+SessionTag page." +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 ElGamal/AES+SessionTag \n" +"algorithm works by tagging each encrypted message with a unique random \n" +"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" +"new random tag. To accomplish this, every few messages bundle a whole \n" +"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" +"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 "" +"This works fine and is fairly robust, however it is inefficient in terms" +" \n" +"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" +"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" +"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 "" +"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" +"network and CPU load (due to expensive tunnel creation messages)." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:95 +msgid "" +"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" +"so substantial effort would be required to change the duration.\n" +"Also, it would be difficult to maintain backward compatibility with such " +"a change." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:102 +msgid "" +"Currently, since the network average tunnel build success rate is fairly " +"high,\n" +"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 "" +"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" +"doesn't pass our test within 60 seconds \"dead\"?" +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:119 +msgid "" +"Each of those imponderables can be addressed with more adaptive code, as " +"well\n" +"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 "" +"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" +"the router's overall bandwidth limiting, of course." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:141 +msgid "" +"Access control lists (only allowing streams to or from certain other " +"known \n" +"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 "" +"Additional ideas for improving the streaming library are described on the" +"\n" +"streaming library page." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:2 +msgid "Performance History" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:4 +#, python-format +msgid "" +"Notable performance improvements have been made using the techniques " +"below.\n" +"There is more to do, see the Performance " +"page\n" +"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 "" +"When I last profiled the I2P code, the vast majority of time was spent " +"within\n" +"one function: java.math.BigInteger's\n" +"modPow.\n" +"Rather than try to tune this method, we'll call out to\n" +"GNU MP - an insanely fast math library\n" +"(with tuned assembler for many architectures). (Editor: see\n" +"NativeBigInteger for faster public key " +"cryptography)" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:23 +#, python-format +msgid "" +"\n" +"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" +"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 "" +"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" +"mihi's ministreaming lib):" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:39 +msgid "" +"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" +"communication is faster. Currently - for all clients - we wrap\n" +"the sender's current LeaseSet in the garlic that is delivered to the " +"recipient,\n" +"so that when they go to reply, they'll always 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" +"If we didn't do this very often,\n" +"overall network bandwidth usage would decrease, since the recipient " +"doesn't\n" +"have to do the network database lookup." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:54 +#, python-format +msgid "" +"For unpublished LeaseSets such as \"shared clients\", this is the only " +"way to\n" +"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" +"necessary, at the beginning of a connection or when the LeaseSet changes." +"\n" +"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" +"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" +"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 "" +"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" +"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 "" +"Outbound tunnel selection implemented in 0.6.1.30, inbound lease " +"selection \n" +"implemented in release 0.6.2." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:97 +msgid "" +"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" +"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 "" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:132 +msgid "Implement full streaming protocol" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:134 +msgid "" +"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" +"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 said, having\n" +"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" +"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 "" +"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" +"emphatic yes." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:14 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:23 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:29 +msgid "" +"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." +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 "" +"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" +"In the end: send data, wait for ack, send more data, wait for ack,..\n" +"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" +"latency and other limitations." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:57 +msgid "" +"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" +"Used tunnels are discarded every 10 minutes and new ones are built up.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:66 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:73 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:79 +msgid "" +"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" +"This limits the amount of traffic routed across your I2P node as well." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:86 +msgid "" +"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" +"be lower after a restart/shutdown for a minimum of 24h." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:94 +msgid "" +"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." +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" +"Future Performance Improvements." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:2 +msgid "I2P Compared to Freenet" +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:8 +msgid "" +"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" +"static websites and message boards." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:16 +#, python-format +msgid "" +"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" +"store to run on top of I2P,\n" +"(most recently a port of Tahoe-LAFS)\n" +"but nothing is yet ready for general use." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:29 +msgid "" +"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" +"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 "" +"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" +"a comprehensive list of anonymity resources - both freehaven's \n" +"Anonymity " +"Bibliography\n" +"and GNUnet's related " +"projects\n" +"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 other " +"networks page:" +msgstr "" + +#: i2p2www/pages/site/comparison/index.html:32 +#, python-format +msgid "" +"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 new ticket on Trac." +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" +"main network comparisons page.\n" +"You may contribute an analysis by entering a\n" +"new ticket on %(trac)s." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:29 +#, python-format +msgid "" +"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" +"addresses to accomplish the same. The two primary differences between \n" +"these systems and I2P are related to I2P's threat model \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" +"of their use outside of academic environments." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:153 +msgid "" +"\n" +"Mixminion and Mixmaster are networks to support anonymous email against a" +" very\n" +"powerful adversary.\n" +"High-latency messaging applications running on top of I2P\n" +"(for example\n" +"Syndie or\n" +"I2PBote)\n" +"may perhaps prove adequate to meet the threat\n" +"model of those adversaries, while running in parallel along side the " +"needs of low latency users, to provide\n" +"a significantly larger anonymity set.\n" +"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." +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 "" +"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" +"successfully mounted an \n" +"attack \n" +"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" +"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" +"antnet routing, providing some degree of\n" +"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)." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:211 +msgid "" +"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" +"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" +"good writeup on what to look for in a circumvention tool.\n" +"Suffice it to say that being closed source and publicly targeting a " +"specific country are not good ideas.\n" +"I2P is, of course, open source. However, that source, and our\n" +"technical documentation, 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" +"new ticket on %(trac)s." +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 network \n" +"database and peer selection." +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 +#: i2p2www/pages/site/docs/protocol/i2np.html:96 +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 "" +"Much bigger user base; much more visibility in the academic and hacker " +"communities; benefits from\n" +"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 "" +"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)" +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 +msgid "Designed and optimized for exit traffic, with a large number of exit nodes" +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 "" +"Designed and optimized for hidden services, which are much faster than in" +" Tor" +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 +msgid "May 2012" +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" +"The interface between applications and the router is the I2CP (I2P " +"Control Protocol) API." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:19 +#, python-format +msgid "" +"The I2P Project is committed to maintaining accurate, current " +"documentation.\n" +"If you find any inaccuracies in the documents linked below, please\n" +"enter a ticket identifying the " +"problem." +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 +#: 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 "" +"Invisible Internet Project (I2P) Project Overview" +" August 28, 2003 (pdf)" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:38 +msgid "Application-Layer Topics" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:40 i2p2www/pages/site/docs/naming.html:2 +msgid "Naming and Addressbook" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:41 +msgid "Plugins Overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:42 +msgid "Plugin Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:43 +msgid "Router software updates" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:44 +#: i2p2www/pages/site/docs/applications/bittorrent.html:2 +msgid "Bittorrent over I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:45 +msgid "I2PControl Plugin API" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:46 +msgid "hostsdb.blockfile Format" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:47 i2p2www/pages/site/docs/index.html:184 +msgid "Configuration File Format" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:50 +msgid "Application Layer API and Protocols" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:51 +msgid "" +"High-level, easy-to-use APIs for applications written in any language to " +"send and receive data." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:53 +msgid "Application Development Overview and Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:71 +msgid "SAM Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:73 +msgid "SAMv2 Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:75 +msgid "SAMv3 Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:77 +msgid "BOB Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:80 +msgid "End-to-End Transport API and Protocols" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:81 +msgid "" +"The end-to-end protocols used by clients for reliable and unreliable " +"communication." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:83 +#: i2p2www/pages/site/docs/api/streaming.html:2 +msgid "Streaming Library" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:85 +msgid "Streaming Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:89 +msgid "Datagram Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:92 +msgid "Client-to-Router Interface API and Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:93 +msgid "" +"The lowest-level API used for clients (applications) to send and receive " +"traffic to a router.\n" +"Traditionally used only by Java applications and higher-level APIs." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:98 +msgid "I2CP - I2P Control Protocol / API overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:100 +msgid "I2CP Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:102 +msgid "I2CP API Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:104 +#: i2p2www/pages/site/docs/index.html:133 +msgid "Common data structures specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:106 +#: i2p2www/pages/site/docs/index.html:135 +msgid "Data Structures Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:109 +msgid "End-to-End Encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:110 +msgid "How client messages are end-to-end encrypted by the router." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:112 +msgid "ElGamal/AES+SessionTag encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:113 +#: i2p2www/pages/site/docs/index.html:146 +msgid "ElGamal and AES cryptography details" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:116 +#: i2p2www/pages/site/docs/how/tech-intro.html:15 +#: i2p2www/pages/site/docs/how/tech-intro.html:329 +msgid "Network Database" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:117 +msgid "" +"Distributed storage and retrieval of information about routers and " +"clients." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:119 +msgid "Network database overview, details, and threat analysis" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:120 +msgid "Cryptographic hashes" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:121 +msgid "Cryptographic signatures" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:124 +msgid "Router Message Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:125 +msgid "" +"I2P is a message-oriented router. The messages sent between routers are " +"defined by the I2NP protocol." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:127 +msgid "I2NP - I2P Network Protocol Overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:129 +msgid "I2NP Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:131 +msgid "I2NP Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:139 +msgid "" +"Selecting peers, requesting tunnels through those peers, and encrypting " +"and routing messages through these tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:141 +msgid "Peer profiling and selection" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:142 +msgid "Tunnel routing overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:143 +msgid "Garlic routing and \"garlic\" terminology" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:144 +msgid "Tunnel building and encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:145 +msgid "ElGamal/AES" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:145 +msgid "for build request encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:147 +msgid "Tunnel building specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:148 +msgid "Low-level tunnel message specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:149 +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2 +msgid "Unidirectional Tunnels" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:150 +#: i2p2www/pages/site/docs/how/peer-selection.html:299 +msgid "Peer Profiling and Selection in the I2P Anonymous Network" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:151 +msgid "2009 paper (pdf), not current but still generally accurate" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:154 +msgid "Transport Layer" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:155 +msgid "The protocols for direct (point-to-point) router to router communication." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:159 +msgid "TCP-based transport overview and specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:161 +msgid "UDP-based transport overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:163 +msgid "SSU specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:165 +msgid "NTCP transport encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:167 +msgid "SSU transport encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:169 +msgid "Transport Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:171 +msgid "NTCP Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:173 +msgid "SSU Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:176 +msgid "Other Router Topics" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:178 +msgid "Native BigInteger Library" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:180 +msgid "Time synchronization and NTP" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:187 +msgid "Developer's Guides and Resources" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:189 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:2 +msgid "New Developer's Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:191 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:2 +msgid "New Translator's Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:193 +#: i2p2www/pages/site/get-involved/guides/monotone.html:4 +msgid "Monotone Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:195 +msgid "Developer Guidelines" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:197 +msgid "Javadocs on the standard internet:" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:198 +#: i2p2www/pages/site/docs/index.html:202 +#: i2p2www/pages/site/docs/index.html:203 +#: i2p2www/pages/site/docs/index.html:204 +#, python-format +msgid "Server %(num)s" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:199 +#: i2p2www/pages/site/docs/index.html:208 +msgid "" +"Note: always verify that javadocs are current by checking the release " +"number." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:201 +msgid "Javadocs inside I2P:" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:210 +msgid "Ports used by I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:212 +msgid "Automatic updates to development builds inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:214 +msgid "Updating the wrapper manually" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:216 +msgid "User forum" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:218 +msgid "Developer forum inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:222 +msgid "Viewmtn inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:224 +msgid "I2P Source exported to GitHub" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:226 +msgid "I2P Source Git Repo inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:228 +msgid "Source translation at Transifex" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:230 +msgid "Roadmap wiki" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:232 +msgid "Old roadmap" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:232 +#: i2p2www/pages/site/docs/index.html:234 +msgid "not current" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:234 +#: 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 +#: i2p2www/pages/site/docs/spec/common-structures.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 addressbook. \n" +"I2P also supports Base32 hostnames similar to " +"Tor's .onion addresses." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:16 +msgid "" +"The addressbook is a web-of-trust\n" +"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" +"traditional DNS." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:30 +#, python-format +msgid "" +"NOTE: For the reasoning behind the I2P naming system, common arguments " +"against it\n" +"and possible alternatives see the naming" +" discussion\n" +"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 "" +"The client application which does local lookups " +"in hosts.txt\n" +"and also takes care of the Base32 hostnames." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:56 +msgid "" +"The HTTP proxy which asks the router for " +"lookups and points\n" +"the user to remote jump services to assist with failed lookups." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:60 +msgid "" +"HTTP host-add forms which allow users to " +"add hosts to their local hosts.txt" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:63 +msgid "" +"HTTP jump services which provide their own" +" lookups and redirection." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:66 +msgid "" +"The addressbook application which merges " +"external\n" +"host lists, retrieved via HTTP, with the local list." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:70 +msgid "" +"The SusiDNS application which is a simple web " +"front-end\n" +"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" +"(To be more precise, it is a 256-byte public key plus a 128-byte signing " +"key\n" +"plus a null certificate, which in Base64 representation is 516 bytes.\n" +"Certificates are not " +"used now,\n" +"if they are, the keys will be longer.\n" +"One possible use of certificates is for proof of work.)" +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" +"The client application (technically, the client side of I2CP in the I2P " +"API)\n" +"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" +"There is an experimental facility for real-time lookups (a la DNS) over " +"the network within the router,\n" +"although it is not enabled by default\n" +"(see \"EepGet\" under Alternatives on the discussion" +" page)." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:116 +msgid "HTTP Proxy" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:118 +msgid "" +"The HTTP proxy does a lookup via the router for all hostnames ending in " +"'.i2p'.\n" +"Otherwise, it forwards the request to a configured HTTP outproxy.\n" +"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-" +"Top Level Domain '.i2p'." +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 http://www.i2p2.i2p/hosts.txt,\n" +"which contains a copy of the hosts.txt included\n" +"in the I2P release.\n" +"Users must configure additional subscriptions in their\n" +"local addressbook application (via subscriptions.txt or SusiDNS)." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:158 +msgid "Some other public addressbook subscription links:" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:165 +msgid "" +"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/docs/naming.html:170 +#: i2p2www/pages/site/docs/naming.html:182 +msgid "Naming Rules" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:171 +msgid "" +"While there are hopefully not any technical limitations within I2P on " +"host names,\n" +"the addressbook enforces several restrictions on host names\n" +"imported from subscriptions.\n" +"It does this for basic typographical sanity and compatibility with " +"browsers,\n" +"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 "" +"Names are checked for conflict with existing names in the existing " +"userhosts.txt and hosts.txt\n" +"(but not privatehosts.txt) after conversion to lower case." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:195 +msgid "Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case." +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" +"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, " +"*.console.i2p, and others)" +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 "" +"Any name received via subscription that passes all the checks is added to" +" the local hosts.txt." +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 "" +"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" +"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:270 +msgid "" +"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" +"\"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" +"(traditionally hosts.txt in the local eepsite's home directory) to be " +"accessed by others\n" +"for their subscriptions.\n" +"This step is optional and is disabled by default." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:285 +msgid "" +"The addressbook application, together with eepget, saves the Etag and/or " +"Last-Modified\n" +"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" +"Also ensure that the server delivers a '304 Not Modified' when " +"appropriate.\n" +"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 "" +"A host add service is a simple CGI application that takes a hostname and " +"a Base64 key as parameters\n" +"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 "" +"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:" +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 "" +"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 " +"?i2paddresshelper=key\n" +"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 "" +"SusiDNS is simply a web interface front-end to configuring addressbook " +"subscriptions\n" +"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 "" +"Currently, there is little enforcement of addressbook naming rules within" +" SusiDNS,\n" +"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" +"Example: " +"ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:407 +msgid "" +"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 " +"hash.\n" +"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" +"Base32 lookups will only be successful when the Destination is up and " +"publishing\n" +"a LeaseSet.\n" +"Because resolution may require a network database lookup, it may take " +"significantly\n" +"longer than a local address book lookup." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:419 +msgid "" +"Base32 addresses can be used in most places where hostnames or full " +"destinations\n" +"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 +#: i2p2www/pages/site/docs/how/network-database.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 "" +"There are now plugins available that support distributed email, blogs, " +"IRC\n" +"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 i2pupdate.sud" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:33 +msgid "" +"Support large or special-purpose applications that would never be bundled" +"\n" +"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 "" +"Separate initial install and update packages, if desired, for smaller " +"update downloads" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:50 +msgid "" +"One-click installation of applications. No more asking users to modify\n" +"wrapper.config or clients.config" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:55 +msgid "Isolate applications from the base $I2P 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 +msgid "Automatic integration and startup of webapps into console Jetty instance" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:76 +#, python-format +msgid "" +"Facilitate creation of 'app stores' like the one at\n" +"%(pluginsite)s" +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 "" +"To install and start a plugin, copy the .xpi2p install link " +"to\n" +"the form at the bottom of\n" +"configclients.jsp" +" in\n" +"your router console and click the \"install plugin\" button. After a" +"\n" +"plugin is installed and started, a link to the plugin will usually appear" +" at\n" +"the top of your summary bar." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:112 +msgid "" +"To update a plugin to the latest version, just click the update button on" +"\n" +"configclients.jsp." +"\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" +"builds)." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:122 +msgid "Development" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:123 +#, python-format +msgid "" +"See the latest plugin specification and " +"the\n" +"plugin forum on %(zzz)s." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:128 +#, python-format +msgid "" +"See also the sources for plugins developed by various people. Some " +"plugins, such\n" +"as snowman, were " +"developed\n" +"specifically as examples." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:134 +msgid "" +"Developers wanted! Plugins are a great way to learn more about I2P" +"\n" +"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" +"makeplugin.sh from the i2p.scripts branch in " +"monotone." +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 NOT 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" +"the plugin was already run, as it requires class loader trickery to flush" +" the\n" +"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 "" +"Plugins running in a separate JVM create a logs/ directory " +"in\n" +"$CWD." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:168 +msgid "" +"No initial keys are present, except for those of jrandom and zzz (using " +"the\n" +"same keys as for router update), so the first key seen for a signer is\n" +"automatically accepted—there is no signing key authority." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:174 +msgid "" +"When deleting a plugin, the directory is not always deleted, especially " +"on\n" +"Windows." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:179 +msgid "" +"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." +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 "" +"These are the ports used or reserved by I2P, including those for known " +"plugins,\n" +"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 the FAQ.\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 "" + +#: i2p2www/pages/site/docs/ports.html:51 +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" +"This is to reduce any extra complexity in the router code, it also adds " +"to\n" +"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 "KEYS = keypair public+private, these are BASE64" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:40 +msgid "KEY = public key, also BASE64" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:43 +msgid "" +"ERROR as is implied returns the message \"ERROR " +"\"+DESCRIPTION+\"\n" +"\", where the DESCRIPTION is what went wrong." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:46 +msgid "" +"OK returns \"OK\", and if data is to be " +"returned, it is on the same line. OK means the command is " +"finished." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:49 +msgid "" +"DATA lines contain information that you requested. There may" +" be multiple DATA lines per request." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:53 +msgid "" +"NOTE: The help command is the ONLY command that has an exception " +"to\n" +"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 "" +"PLEASE NOTE:\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:65 +msgid "" +"Commands never get obsoleted or changed, however new commands do get " +"added from time to time." +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 "" +"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!" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:108 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:120 +msgid "" +"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" +"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 "" +"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" +"to the CHARGEN service on 19/TCP." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:159 +msgid "Now for the other half, so that we can actually contact this destination." +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" +"send the destination key or host address from addressbook we want to " +"contact.\n" +"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 "" +"NOTE: The \"quit\" command in the command channel does NOT " +"disconnect the tunnels like SAM." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:203 +msgid "After a few virtual miles of this spew, press Control-]" +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 "" +"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." +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 "" +"Now to remove \"ear\", note that this is what happens when you type too " +"fast,\n" +"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 "" +"Datagrams build upon the base I2CP 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" +"message and sender are authenticated by signing the payload." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:16 +#, python-format +msgid "" +"Datagrams, like streaming library packets,\n" +"are an application-level construct.\n" +"These protocols are independent of the low-level transports;\n" +"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" +"datagram API,\n" +"while applications in other languages \n" +"can use SAM's datagram support.\n" +"There is also limited support in i2ptunnel in the SOCKS proxy,\n" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:45 +#, python-format +msgid "" +"Also note that the various overheads added by lower layers, in particular" +" asymmetric\n" +"ElGamal/AES, 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" +"the ElGamal Session Tag parameters." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:55 +msgid "I2CP Protocol Number and Ports" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:56 +msgid "" +"The standard I2CP protocol number for datagrams is 17. Applications may " +"or may not choose to set the\n" +"protocol in the I2CP header. It is not set by default.\n" +"It must be set to demultiplex datagram and streaming traffic received on " +"the same Destination." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:62 +#, python-format +msgid "" +"As datagrams are not connection-oriented, the application may require\n" +"port numbers to correlate datagrams with particular peers or " +"communications sessions,\n" +"as is traditional with UDP over IP.\n" +"Applications may add 'from' and 'to' ports to the I2CP (gzip) header as " +"described in\n" +"the I2CP page." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:70 +msgid "" +"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" +"The I2CP protocol number or port could also be used by the application to" +"\n" +"indicate datagram type." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:77 +#, python-format +msgid "" +"The protocols and ports may be set in I2CP's\n" +"I2PSession API,\n" +"as implemented in\n" +"I2PSessionMuxedImpl." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:85 +#: i2p2www/pages/site/docs/api/streaming.html:325 +msgid "Data Integrity" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:86 +#, python-format +msgid "" +"Data integrity is assured by the gzip CRC-32 checksum implemented in\n" +"the I2CP layer.\n" +"There is no checksum field in the datagram protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:92 +#: i2p2www/pages/site/docs/api/streaming.html:333 +msgid "Packet Encapsulation" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:93 +#, python-format +msgid "" +"Each datagram is sent through I2P as a single message (or as an " +"individual clove in a\n" +"Garlic Message).\n" +"Message encapsulation is implemented in the underlying\n" +"I2CP,\n" +"I2NP, and\n" +"tunnel message layers.\n" +"There is no packet delimiter mechanism or length field in the datagram " +"protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:106 +#: i2p2www/pages/site/docs/spec/datagrams.html:10 +#: i2p2www/pages/site/docs/transport/ssu.html:547 +msgid "Specification" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:108 +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 "" +"I2P enables a JSONRPC2 interface via the plugin I2PControl.\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 JSON-RPC 2.0. \n" +"A list of implementations of JSON-RPC for various languages can be found " +"at the JSON-RPC " +"wiki." +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 +#: i2p2www/pages/site/docs/spec/common-structures.html:229 +#: i2p2www/pages/site/docs/spec/common-structures.html:298 +#: i2p2www/pages/site/docs/spec/common-structures.html:349 +#: i2p2www/pages/site/docs/spec/common-structures.html:395 +#: i2p2www/pages/site/docs/spec/common-structures.html:442 +#: i2p2www/pages/site/docs/spec/common-structures.html:568 +#: i2p2www/pages/site/docs/spec/common-structures.html:623 +msgid "Description" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:30 +msgid "" +"Token used for authenticating every request (excluding the 'Authenticate'" +" RPC method)" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:38 +msgid "Implemented methods" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:39 +msgid "" +"Creates and returns an authentication token used for further " +"communication." +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 "" +"Token used for authenticating the client. Is provided by the server via " +"the 'Authenticate' RPC method." +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 ratestats." +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 +msgid "Returns true if any changes requiring a restart to take effect were made." +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 "" +"Initiates a router reseed, fetching peers into our NetDB from a remote " +"host." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:139 +msgid "Restarts the router." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:140 +msgid "" +"Restarts the router gracefully (waits for participating tunnels to " +"expire)." +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 +msgid "Fetches or sets various network related settings. Ports, addresses etc." +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 "" +"What hostname is used for the TCP transport. If null is submitted, " +"current setting will be returned." +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 "" +"What hostname is used for the UDP transport. If null is submitted, " +"current setting will be returned." +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 +msgid "Is UPnP enabled. If null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:163 +msgid "" +"How many percent of bandwidth is usable for participating tunnels. If " +"null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:164 +msgid "" +"How many KB/s of inbound bandwidth is allowed. If null is submitted, " +"current setting will be returned." +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 "" +"Is laptop mode enabled (change router identity and UDP port when IP " +"changes ). If null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:167 +msgid "" +"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." +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 "" +"If requested, returns the method used for automatically detecting ip for " +"the TCP transport." +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 "" +"If requested, returns methods used for detecting the ip address of the " +"UDP transport." +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 "" +"The version of the I2PControl API used wasn't specified, but is required " +"to be specified." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:202 +msgid "" +"The version of the I2PControl API specified is not supported by " +"I2PControl." +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" +"Destination of an I2PTunnel can be defined using a hostname,\n" +"Base32, 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" +"for the service and it will become avaliable throughout I2P.\n" +"A web interface for I2PTunnel management is avaliable on\n" +"localhost:7657/i2ptunnel/." +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 "" +"I2P Webserver - A tunnel pointed to a Jetty webserver run\n" +"on localhost:7658 for convenient " +"and quick hosting on I2P.\n" +"
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 "" +"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." +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 "" +"The anonymous monotone" +"\n" +"sourcecode repository for I2P" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:47 +#, python-format +msgid "" +"A SMTP service provided by postman at %(postman)s" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:50 +#, python-format +msgid "" +"The accompanying POP sevice of postman at %(postman)s" +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:63 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:68 +msgid "" +"Accept, Accept-Charset, Accept-Encoding, Accept-Language\n" +" and Accept-Ranges as they vary greatly between browsers and can be " +"used as an identifier." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:76 +msgid "" +"HTTP client/server tunnels are via I2Ptunnel force-enabling compression " +"via the following http headers:" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:83 +msgid "" +"Depending on if the tunnel is using an outproxy or not it will append the" +" following User-Agent:" +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 "" +"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." +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 "" +"Enables using the I2P router as a SOCKS proxy with the command whitelist " +"specified by\n" +"IRC 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 "" +"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr " +"client tunnel will \n" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:150 +msgid "" +"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" +"requests, or loopback-testing an eepsite as a diagnostic tool." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:157 +msgid "" +"Creates a destination that filters the reqistration sequence of a client " +"and passes \n" +"the clients destination key as a hostname to the IRC-server." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:163 +msgid "" +"A UDP-client that connects to a media server is created. The UDP-Client " +"is coupled with a Streamr server I2PTunnel." +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\" streaming library.\n" +"Ministreaming is deprecated and is incompatible with today's " +"applications.\n" +"The following documentation is old.\n" +"Also note that streaming extends ministreaming in the same Java package " +"(net.i2p.client.streaming),\n" +"so the current API documentation contains both.\n" +"Obsolete ministreaming classes and methods are clearly marked as " +"deprecated in the Javadocs." +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" +"I2CP that allows reliable, in order, and " +"authenticated streams\n" +"of messages to operate across an unreliable, unordered, and " +"unauthenticated \n" +"message layer. Just like the TCP to IP relationship, this streaming \n" +"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" +"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" +"I2PTunnel 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" +"the ministreaming library are its use of the traditional TCP two phase \n" +"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 significant. 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." +msgstr "" + +#: i2p2www/pages/site/docs/api/ministreaming.html:45 +#, python-format +msgid "" +"Even with those issues, the ministreaming library performs quite well in " +"many\n" +"situations, and its API\n" +"is both quite simple and capable of remaining unchanged as different " +"streaming\n" +"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" +"access the API directly, while developers in other languages can use it " +"through\n" +"SAM'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" +"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are " +"supported.\n" +"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 FAQ:" +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" +"this, thus using I2P to 'socksify' existing applications is possible, but" +"\n" +"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 Meeting 81 and\n" +"Meeting 82 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" +"datagram library." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:18 +#, python-format +msgid "" +"The streaming library is a layer on top of the core \n" +"I2CP API that allows reliable, in-order, and " +"authenticated streams\n" +"of messages to operate across an unreliable, unordered, and " +"unauthenticated \n" +"message layer. Just like the TCP to IP relationship, this streaming \n" +"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" +"allow alternative optimized implementations." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:29 +msgid "" +"In consideration of the relatively high cost of messages, \n" +"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" +"the small HTTP request payload, and the reply bundles the SYN,\n" +"FIN, ACK, and the HTTP response payload. While an additional\n" +"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" +"immediately." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:42 +msgid "" +"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" +"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 "" +"The streaming library API provides a standard socket paradigm to Java " +"applications.\n" +"The lower-level I2CP API is completely hidden, " +"except that\n" +"applications may pass I2CP parameters " +"through the\n" +"streaming library, to be interpreted by I2CP." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:67 +#, python-format +msgid "" +"The standard interface to the streaming lib is for the application to use" +" the\n" +"I2PSocketManagerFactory to create an\n" +"I2PSocketManager. The application then asks " +"the\n" +"socket manager for an I2PSession, which will " +"cause\n" +"a connection to the router via I2CP. The " +"application\n" +"can then setup connections with an I2PSocket " +"or\n" +"receive connections with an I2PServerSocket." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:82 +#, python-format +msgid "Here are the full streaming library Javadocs." +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" +"Options are case-sensitive and may be set for the whole router, for a " +"particular client, or for an individual socket on a\n" +"per-connection basis.\n" +"Many values are tuned for HTTP performance over typical I2P conditions. " +"Other applications such\n" +"as peer-to-peer services are strongly encouraged to\n" +"modify as necessary, by setting the options and passing them via the call" +" to\n" +"I2PSocketManagerFactory.createManager(_i2cpHost," +" _i2cpPort, opts).\n" +"Time values are in ms." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:103 +#, python-format +msgid "" +"Note that higher-layer APIs, such as SAM,\n" +"BOB, and I2PTunnel," +"\n" +"may override these defaults with their own defaults.\n" +"Also note that many options only apply to servers listening for incoming " +"connections." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:110 +msgid "" +"As of release 0.9.1, most, but not all, options may be changed on an " +"active socket manager or session.\n" +"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 +#: i2p2www/pages/site/docs/spec/common-structures.html:205 +#: i2p2www/pages/site/docs/spec/common-structures.html:261 +#: i2p2www/pages/site/docs/spec/common-structures.html:341 +#: i2p2www/pages/site/docs/spec/common-structures.html:431 +#: i2p2www/pages/site/docs/spec/common-structures.html:541 +#: i2p2www/pages/site/docs/spec/common-structures.html:608 +#: i2p2www/pages/site/docs/spec/common-structures.html:709 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 +#: i2p2www/pages/site/docs/spec/datagrams.html:90 +msgid "Notes" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:119 +msgid "" +"Comma- or space-separated list of Base64 peer Hashes used for either " +"access list or blacklist." +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" +"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" +"router in a separate JVM and context." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:151 +msgid "" +"How much transmit data (in bytes) will be accepted that hasn't been " +"written out yet." +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" +"of 1/(windowSize*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:162 +msgid "" +"How long to wait after instantiating a new con \n" +"before actually attempting to connect. If this is\n" +"<= 0, connect immediately with no initial data. If greater than 0, " +"wait\n" +"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 "" +"How long to block on connect, in milliseconds. Negative means " +"indefinitely. Default is 5 minutes." +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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:188 +msgid "" +"(0=noop, 1=disconnect)\n" +"What to do on an inactivity timeout - do nothing, disconnect, or send a " +"duplicate ack." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:196 +msgid "" +"The initial value of the resend delay field in the packet header, times " +"1000.\n" +"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 sharing data available" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:203 +msgid "" +"In standard TCP, window sizes are in bytes, while in I2P, window sizes " +"are in messages." +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" +"This doesn't currently do anything, but setting it to a value other than " +"1 will cause an error." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:265 +msgid "How long to block on read, in milliseconds. Negative means indefinitely." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:298 +msgid "" +"The initiator may send additional data packets, up to the initial window " +"size, before receiving the SYNCHRONIZE response.\n" +"These packets will also have the send Stream ID field set to 0.\n" +"Recipients must buffer packets received on unknown streams for a short " +"period of time, as they may\n" +"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 "" +"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" +"a large amount of overhead.\n" +"The MTU is specified by the option i2p.streaming.maxMessageSize.\n" +"The current default MTU of 1730 was chosen to fit precisely into two 1K " +"I2NP tunnel messages,\n" +"including overhead for the typical case." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:315 +msgid "" +"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." +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" +"the I2CP layer.\n" +"There is no checksum field in the streaming protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:334 +#, python-format +msgid "" +"Each packet is sent through I2P as a single message (or as an individual " +"clove in a\n" +"Garlic Message). Message encapsulation " +"is implemented\n" +"in the underlying I2CP, I2NP, and\n" +"tunnel message layers. There is no " +"packet delimiter\n" +"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 "" +"The streaming lib uses standard slow-start (exponential window growth) " +"and congestion avoidance (linear window growth)\n" +"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 "" +"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" +"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" +"RFC 2140).\n" +"There is a separate share per ConnectionManager (i.e. per local " +"Destination)\n" +"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 "" +"The following parameters are hardcoded, but may be of interest for " +"analysis:" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:393 +#: i2p2www/pages/site/docs/how/network-database.html:785 +msgid "History" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:394 +msgid "" +"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" +"and is a reasonable tradeoff between the bandwidth costs of \n" +"retransmitting lost messages, and the latency and overhead of multiple " +"messages." +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 +#: i2p2www/pages/site/docs/how/network-database.html:790 +#: 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 +#: i2p2www/pages/site/docs/protocol/i2np.html:235 +#: i2p2www/pages/site/docs/spec/updates.html:126 +#: i2p2www/pages/site/docs/transport/ntcp.html:445 +#: i2p2www/pages/site/docs/transport/ssu.html:482 +#: 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 "" +"Another area for research is the interaction of the streaming lib with " +"the\n" +"NTCP and SSU transport layers.\n" +"See the NTCP discussion page for details." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:423 +msgid "" +"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" +"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 "" +"zzz has added debug code to the streaming library to log packets in a " +"wireshark-compatible\n" +"(pcap) format; Use this to further analyze performance.\n" +"The format may require enhancement to map more streaming lib parameters " +"to TCP fields." +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" +"changes are required to tracker and client software for operation on I2P." +"\n" +"These changes are specified below.\n" +"Note carefully the guidelines for compatibility with older I2P clients " +"and trackers." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:15 +msgid "" +"This page specifies protocol details common to all clients and trackers.\n" +"Specific clients and trackers may implement other unique features or " +"protocols." +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 "" +"Clients generally include a fake port=6881 parameter in the announce, for" +" compatibility with older trackers.\n" +"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" +"Destination,\n" +"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n" +"Destinations\n" +"are 387+ bytes, so the Base 64 is 516+ bytes.\n" +"Clients generally append \".i2p\" to the Base 64 Destination for " +"compatibility with older trackers.\n" +"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 "" +"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" +"the tracker should probably decode and reject bad Base64 when announced." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:53 +msgid "" +"The default response type is non-compact. Clients may request a compact " +"response with\n" +"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" +"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" +"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 "" +"Trackers generally include a fake port key, or use the port from the " +"announce, for compatibility with older clients.\n" +"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" +"Destination, 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" +"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 "" +"In the compact response, the value of the \"peers\" dictionary key is a " +"single byte string,\n" +"whose length is a multiple of 32 bytes.\n" +"This string contains the concatenated\n" +"32-byte SHA-256 Hashes\n" +"of the binary\n" +"Destinations\n" +"of the peers.\n" +"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" +"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 "" +"While compact response support is optional for both clients and trackers," +" it is highly\n" +"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 "" +"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" +"client's\n" +"Destination\n" +"using HTTP headers added by the I2PTunnel HTTP Server tunnel.\n" +"The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which " +"are\n" +"different formats for the same information.\n" +"These headers cannot be spoofed by the client.\n" +"A tracker enforcing destinations need not require the ip announce " +"parameter at all." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:129 +msgid "" +"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" +"those clients are converted to announcing over their own tunnel." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:135 +msgid "" +"Unfortunately, as the network grows, so will the amount of maliciousness," +"\n" +"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" +"I2P naming standards.\n" +"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." +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 "" +"I2P uses 387+ byte Destinations\n" +"for addresses, as explained above." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:170 +msgid "" +"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" +"which will return the full Destination if available." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:176 +msgid "" +"If the client has a peer's full Destination it received in a non-compact " +"response, it should use it\n" +"directly in the connection setup.\n" +"Do not convert a Destination back to a Base 32 hash for lookup, this is " +"quite inefficient." +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" +"I2P bittorrent clients generally do not support non-I2P announces or peer" +" connections.\n" +"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 "" +"To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers " +"often\n" +"block accesses or announces that contain an X-Forwarded-For HTTP header.\n" +"Trackers should reject standard network announces with IPv4 or IPv6 IPs, " +"and not deliver them in responses." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:200 +#, python-format +msgid "" +"I2P PEX is based on ut_pex.\n" +"As there does not appear to be a formal specification of ut_pex " +"available,\n" +"it may be necessary to review the libtorrent source for assistance.\n" +"It is an extension message, identified as \"i2p_pex\" in\n" +"the extension " +"handshake.\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" +"These byte strings are the concatenated SHA-256 Hashes of the binary\n" +"Destinations\n" +"of the peers.\n" +"This is the same format as the peers dictionary value in the i2p compact " +"response format specified above.\n" +"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" +"BEP 5\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 "" +"Unlike standard DHT, I2P DHT does not use a bit in the options handshake," +" or the PORT message.\n" +"It is advertised with an extension message, identified as \"i2p_dht\" in\n" +"the extension " +"handshake.\n" +"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", " +"both integers." +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" +"In a response, the \"values\" key is a list of strings, each containing a" +" single compact peer info." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:260 +msgid "" +"Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + " +"2 byte port)\n" +"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" +"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" +"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 %(zzz)s." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:290 +#, python-format +msgid "" +"A chart of current tracker software capabilities is also available there." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:293 +#, python-format +msgid "" +"The\n" +"I2P bittorrent FAQ" +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:297 +#, python-format +msgid "DHT on I2P discussion" +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" +"Trac, and be sure to select the" +"\n" +"“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 "" +"Bundled application — 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 "" +"Third-party plugin — 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](http://%(plugins)s) 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 "" +"Third-party standalone application — Many standard network\n" +"applications only require careful setup and configuration to communicate\n" +"anonymously over I2P. These are tagged with standalone. Some\n" +"applications, tagged with standalone/mod, 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 "" +"Third-party essential network service — 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 "" +"Unmaintained — 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" +"doesn't automatically protect your anonymity. I2P is merely a set of " +"tools\n" +"which can help you mitigate certain identified\n" +"threats to anonymity. We do not and cannot make any guarantees about " +"the\n" +"safety of the applications, plugins, and services listed below. Most\n" +"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" +"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" +"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" +"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" +"seek expert advice, educate yourself, practice good judgment, be mindful " +"of\n" +"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 here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:236 +#, python-format +msgid "" +"Port of the Tahoe-" +"LAFS\n" +"distributed file system to the I2P network. Controller plugin here." +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" +"used in I2P development." +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 I2P naming system somewhat\n" +"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n" +"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" +"Base64 addresses. (Note: 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" +"and email gateway service between the I2P network and the public Internet" +"\n" +"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" +"here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:369 +msgid "" +"The code that powered one of the first major tracker/indexer sites on the" +"\n" +"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 I2P Monotone repository." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:387 +#, python-format +msgid "" +"zzz's Java-based open tracker. More info\n" +"here." +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 "" +"Port of the Phex Gnutella " +"client. Website\n" +"for plugin version here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:418 +#, python-format +msgid "" +"Cache for Gnutella peers on I2P. Website for plugin version\n" +"here." +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 "" +"Proxy providing simple, transparent SOCKS-ification of network " +"applications." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:458 +msgid "" +"Most popular implementation of the Secure Shell (SSH) protocol and " +"related tools." +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" +"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" +"completely blocked, except for CTCP ACTION (the message emitted by the\n" +"/me command) which isn't inherently dangerous." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:494 +msgid "" +"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" +"sniffers such as Wireshark are\n" +"useful here. Eliminating remaining leaks may be as simple as changing the" +"\n" +"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 here." +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 "" +"Any website hosted anonymously on I2P, reachable through the I2P router's" +" HTTP proxy." +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 sponge's 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 zzz's 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 "tino's inproxy on the public Internet." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:642 +msgid "" +"Gateways allowing I2P users to access content hosted on the public " +"Internet." +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" +"integrated with a bundled copy of Jetty which by default is configured to" +"\n" +"host the user's eepsite. The " +"bundled\n" +"Jetty also serves the I2P router console and web applications bundled " +"with\n" +"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 "" +"NOTE: The following is a discussion of the reasons behind the I2P naming " +"system,\n" +"common arguments and possible alternatives.\n" +"See the naming page 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:19 +msgid "" +"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" +"hostile certificate authority attacks." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:33 +msgid "" +"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" +"full network is not queried, different sets of answers may be reachable." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:42 +msgid "" +"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 alternate naming systems can\n" +"plug into, allowing end users to drive what sort of naming tradeoffs they" +" prefer." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:50 +msgid "" +"See also Names: " +"Decentralized, Secure, Human-Meaningful: Choose Two." +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" +"do not agree on one address and if some addresses are working, others are" +" not? \n" +"Who is the right source of a name?" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:64 +msgid "" +"A:\n" +"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 not globally" +" \n" +"unique. This is by design, and an inherent part of our need for " +"security." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:70 +msgid "" +"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 locally unique: " +"they are \n" +"what you 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\"." +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 "" +"Inefficiency:\n" +"The whole hosts.txt is downloaded (if it has changed, since eepget uses " +"the etag and last-modified headers).\n" +"It's about 400K right now for almost 800 hosts." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:94 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:99 +msgid "" +"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" +"last requested the data.\n" +"Others have suggested asking for specific keys only (similar to what jump" +" services do, but\n" +"in a more automated fashion), possibly at a further cost in anonymity." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:106 +#, python-format +msgid "" +"Possible improvements would be a replacement or supplement to addressbook" +" (see %(i2host)sp),\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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:112 +#, python-format +msgid "" +"A sample implementation is on stats.i2p at\n" +"%(url)s.\n" +"This script returns an Etag with a timestamp.\n" +"When a request comes in with the If-None-Match etag,\n" +"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" +"does not know about, in an addressbook-compatible manner." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:121 +msgid "" +"So the inefficiency is not a big issue and there are several ways to " +"improve things without\n" +"radical change." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:127 +msgid "" +"Not Scalable:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:139 +msgid "" +"Requires configuration and \"trust\":\n" +"Out-of-the-box addressbook is only subscribed to " +"http://www.i2p2.i2p/hosts.txt, which is rarely updated,\n" +"leading to poor new-user experience." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:144 +msgid "" +"This is very much intentional. jrandom wants a user to \"trust\" a " +"hosts.txt\n" +"provider, and as he likes to say, \"trust is not a boolean\".\n" +"The configuration step attempts to force users to think about issues of " +"trust in an anonymous network." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:149 +msgid "" +"As another example, the \"Eepsite Unknown\" error page in the HTTP Proxy\n" +"lists some jump services, but doesn't \"recommend\" any one in " +"particular,\n" +"and it's up to the user to pick one (or not).\n" +"jrandom would say we trust the listed providers enough to list them but " +"not enough to\n" +"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 "It isn't DNS" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:166 +msgid "" +"Unfortunately real-time lookups over i2p would significantly slow down " +"web browsing." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:169 +msgid "" +"Also, DNS is based on lookups with limited caching and time-to-live, " +"while i2p\n" +"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 "" +"Not reliable:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:190 +msgid "" +"People advocating all-authoritative solutions generally haven't thought " +"through\n" +"the issues of conflicts and hijacking, however." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:196 +msgid "" +"Awkward, not real-time:\n" +"It's a patchwork of hosts.txt providers, key-add web form providers, jump" +" service providers,\n" +"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 "" +"So, in summary, the current system is not horribly broken, inefficient, " +"or un-scalable,\n" +"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 "" +"The I2P source contains several pluggable naming systems and supports " +"configuration options\n" +"to enable experimentation with naming systems." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:218 +msgid "" +"Meta - 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 "" +"PetName - 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 "HostsTxt - Looks up in the following files, in order:" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:234 +msgid "" +"AddressDB - Each host is listed in a separate file in a addressDb/" +" directory." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:237 +msgid "" +"Eepget - 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 "" +"Exec - 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 "Dummy - used as a fallback for Base64 names, otherwise fails." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:253 +msgid "" +"The current naming system can be changed with the advanced config option " +"'i2p.naming.impl'\n" +"(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" +"implement local storage and/or the addressbook subscription functions, " +"since addressbook\n" +"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 "" +"I2P destinations contain a certificate, however at the moment that " +"certificate\n" +"is always null.\n" +"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" +"destination. So these will have to be updated to implement certificates." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:273 +#, python-format +msgid "" +"One possible use of certificates is for proof of work." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:276 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:280 +msgid "" +"With any certificate implementation must come the method for verifying " +"the\n" +"certificates.\n" +"Presumably this would happen in the addressbook merge code.\n" +"Is there a method for multiple types of certificates, or multiple " +"certificates?" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:286 +msgid "" +"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" +"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 "" +"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 ElGamal/AES+SessionTag " +"(but we're sure others have done it)." +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 Tunnel Build " +"Messages" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:30 +#, python-format +msgid "" +"For end-to-end (destination-to-destination) encryption as a part of ElGamal/AES+SessionTag\n" +"using the encryption key in the LeaseSet" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:34 +#: i2p2www/pages/site/docs/how/cryptography.html:189 +#, python-format +msgid "" +"For encryption of some netDb stores and " +"queries sent to floodfill routers\n" +"as a part of ElGamal/AES+SessionTag\n" +"(destination-to-router or router-to-router)." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:41 +msgid "" +"We use common primes for 2048 ElGamal encryption and decryption, as given" +" by IETF RFC-3526.\n" +"We currently only use ElGamal to encrypt the IV and session key in a " +"single block, followed by the \n" +"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 "" +"The H(data) is the SHA256 of the data that is encrypted in the ElGamal " +"block,\n" +"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" +"cleartext is smaller than 222 bytes, it is recommended that higher layers" +" pad\n" +"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 "" +"Each encrypted part is prepended with zeros to a size of exactly 257 " +"bytes.\n" +"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 the ElGamal code." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:115 +msgid "" +"The shared prime is the \n" +"[Oakley prime " +"for 2048 bit keys]" +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" +"PrivateKey\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" +"On Diffie-Hellman Key Agreement with Short Exponents " +"- van Oorschot, Weiner\n" +"at EuroCrypt 96, and crypto++'s " +"benchmarks.\n" +"Benchmarks originally at %(oldbenchmarks)s (now dead),\n" +"rescued from the wayback machine," +" dated Apr 23, 2008." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:158 +#, python-format +msgid "" +"Also, Koshiba & Kurosawa: Short Exponent Diffie-" +"Hellman Problems (PKC 2004, LNCS 2947, pp. 173-186)\n" +"(full text on Google Books) apparently " +"supports this, according to\n" +"this sci.crypt thread.\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 "" +"The vulnerability of the network to an ElGamal attack and the impact of " +"transitioning to a longer bit length is to be studied.\n" +"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 transport encryption 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 ElGamal/AES+SessionTag" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:195 +#, python-format +msgid "" +"For encryption of periodic tunnel " +"test messages sent from the router to itself, through its own " +"tunnels." +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" +"The padding used is specified in IETF RFC-2313 " +"(PKCS#5 1.5, section 8.1 (for block type 02)).\n" +"In this case, padding exists of pseudorandomly generated octets to match " +"16 byte blocks.\n" +"Specifically, see [the CBC code] and the " +"Cryptix AES\n" +"[implementation], as well as the padding, found" +" in the\n" +"ElGamalAESEngine.getPadding function." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:265 +msgid "" +"The vulnerability of the network to an AES attack and the impact of " +"transitioning to a longer bit length is to be studied.\n" +"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 "" +"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), " +"as implemented in\n" +"[DSAEngine].\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 "" +"The Signing Public" +" Key is 1024 bits.\n" +"The Signing " +"Private Key is 160 bits." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:344 +#, python-format +msgid "" +"NIST 800-57\n" +"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n" +"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a " +"given key." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:350 +msgid "" +"The prime number was chosen in 2003,\n" +"and the person that chose the number (TheCrypto) is currently no longer " +"an I2P developer.\n" +"As such, we do not know if the prime chosen is a 'strong prime'.\n" +"If a larger prime is chosen for future purposes, this should be a strong " +"prime, and we will document the construction process." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:357 +msgid "" +"The vulnerability of the network to a DSA attack and the impact of " +"transitioning to longer keys is to be studied.\n" +"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" +"[SHA256Generator]" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:383 +msgid "" +"The vulnerability of the network to a SHA-256 attack and the impact of " +"transitioning to a longer hash is to be studied.\n" +"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" +"point-to-point inter-router communication is protected by the transport " +"layer security.\n" +"Both transports use 256 byte (2048 bit) Diffie-Hellman key exchange\n" +"using\n" +"the same shared prime and generator as specified " +"above for ElGamal,\n" +"followed by symmetric AES encryption as described above.\n" +"This provides\n" +"perfect " +"forward secrecy\n" +"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 "" +"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" +"(as above).\n" +"The primary reason to do the DH negotiation instead of using ElGamalAES+SessionTag is that it provides '(perfect) " +"forward secrecy', while ElGamalAES+SessionTag does not." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:417 +msgid "" +"In order to migrate to a more standardized implementation (TLS/SSL or " +"even SSH), the following issues must be addressed:" +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 "" +"Can we simplify/avoid the x509 or other certificate formats and use our " +"own RouterInfo structure (which \n" +"contains the ElGamal and DSA keys)?" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:429 +#, python-format +msgid "See the NTCP specification for details." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:433 +msgid "UDP connections" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:434 +msgid "" +"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" +"checking." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:442 +#, python-format +msgid "See the SSU specification 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" +"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" +"See HMACGenerator.java and\n" +"the 2005-07-05 status notes\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 "" +"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" +"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 "" +"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" +"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 "" +"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" +"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" +"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" +"to the full expensive ElGamal encryption.\n" +"A session will continue to exist until all its tags are exhausted or " +"expire." +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" +"Separate Session Key Managers prevents correlation of multiple " +"Destinations\n" +"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:

" +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 +msgid "It is for a new session and contains both ElGamal and AES encrypted blocks" +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" +"an existing session and attempt to look up the Session Tag and decrypt " +"the following data using AES.\n" +"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 "" +"A New Session ElGamal Message contains two parts, an encrypted ElGamal " +"block\n" +"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" +"Session Key\n" +"is the identifier for the session.\n" +"The 32-byte Pre-IV will be used to generate the IV for the AES block that" +" follows;\n" +"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" +"using ElGamal\n" +"and the encrypted block is 514 bytes long.\n" +"

" +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 Integer, 0-200" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:228 +#, python-format +msgid "" +"That many 32-byte Session Tags" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:232 +#, python-format +msgid "4-byte Integer" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:236 +#, python-format +msgid "" +"The 32-byte SHA256 Hash of" +" the payload" +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 "" +"A 32-byte Session " +"Key,\n" +" to replace the old key, and is only present if preceding" +" flag is 0x01" +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 AES Encrypted,\n" +"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" +"

" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:269 +#, python-format +msgid "" +"Actual max payload length, and max block length, is less than 64 KB; see " +"the I2NP Overview." +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 "" +"A 32-byte Session " +"Tag\n" +" previously delivered in an AES block" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:314 +msgid "As specified above." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:318 +msgid "" +"The session tag also serves as\n" +"the pre-IV. The IV is the first 16 bytes of the SHA-256 Hash of the " +"sessionTag." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:323 +msgid "" +"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 New Session Message." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:332 +msgid "" +"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" +"impact on overall performance." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:338 +msgid "" +"Delivery of too many tags at one time may impose substantial overhead for" +" brief streaming connections\n" +"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 "" +"A few tags could be delivered in each of several messages, or lots of " +"tags all at once." +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 "" +"The number of tags delivered could depend on message size, keeping in " +"mind\n" +"the eventual padding to 1KB at the tunnel message layer." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:359 +msgid "" +"Clients could send an estimate of session lifetime to the router, as an " +"advisory\n" +"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 "" +"The router may assume delivery of Session Tags, or await acknowledgement " +"before using them;\n" +"there are tradeoffs for each strategy." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:373 +msgid "" +"For very brief messages, almost the full 222 bytes of the pre-IV and " +"padding fields in the ElGamal block\n" +"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 "" +"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" +"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 synchronized PRNG." +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" +"Delivery Instructions,\n" +"or set a magic number in the first few bytes of the Session Key field\n" +"and accept a small risk of the random Session Key matching the magic " +"number." +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 "" +"The terms \"garlic routing\" and \"garlic encryption\" are often used " +"rather loosely when referring to I2P's technology.\n" +"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" +"Michael J. Freedman\n" +"in Roger Dingledine's Free Haven \n" +"Master's thesis " +"Section 8.1.1 (June 2000), as derived from \n" +"Onion Routing." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:21 +msgid "" +"\"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" +"The specific reasoning may be lost to history.\n" +"Generally, when referring to I2P, the term \"garlic\" may mean one of " +"three things:" +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 "" +"Unfortunately, I2P's usage of \"garlic\" terminology over the past seven " +"years has not always been precise; therefore the reader is\n" +"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 "" +"Onion routing is a technique for building paths, or tunnels, through a " +"series of peers,\n" +"and then using that tunnel.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:49 +#, python-format +msgid "" +"This is similar to the way Mixmaster\n" +"(see network comparisons) 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" +"per hop along the path." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:58 +msgid "" +"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" +"large amount of" +" academic research on onion routing,\n" +"Tor, and similar " +"mixnets." +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 "" +"Michael Freedman defined \"garlic routing\" as an extension to onion " +"routing,\n" +"in which multiple messages are bundled together.\n" +"He called each message a \"bulb\".\n" +"All the messages, each with its own delivery instructions, are exposed at" +" the\n" +"endpoint.\n" +"This allows the efficient bundling of an onion routing \"reply block\" " +"with the original message." +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" +"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" +"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" +"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" +"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" +"ElGamal/AES+SessionTag 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 "" +"For publishing some network database entries (dampening the probability " +"of a successful traffic analysis attack) (ElGamal/AES)" +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:116 +msgid "" +"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." +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" +"Therefore, four tunnels are required for a single round-trip message and " +"reply." +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" +"tunnel implementation page.\n" +"Tunnel building details are defined on\n" +"this page.\n" +"We use\n" +"ElGamal/AES+SessionTag 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" +"I2NP messages, and\n" +"Garlic Messages are not used to " +"build tunnels.\n" +"We do not bundle multiple\n" +"I2NP messages into a single\n" +"Garlic Message for unwrapping at " +"the outbound tunnel endpoint;\n" +"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" +"Destinations.\n" +"Just as within a single tunnel, we use\n" +"ElGamal/AES+SessionTag for the encryption." +"\n" +"Each client message as delivered to the router through the\n" +"I2CP interface becomes a single\n" +"Garlic Clove\n" +"with its own\n" +"Delivery Instructions,\n" +"inside a\n" +"Garlic Message.\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" +"Delivery Status Message,\n" +"with\n" +"Delivery Instructions\n" +"specifying that it be sent back to the originating router as an " +"acknowledgment.\n" +"This is similar to the \"reply block\" or \"reply onion\"\n" +"described in the references.\n" +"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" +"or take other actions." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:194 +#, python-format +msgid "" +"A\n" +"Database Store Message,\n" +"containing a\n" +"LeaseSet\n" +"for the originating Destination, with\n" +"Delivery Instructions\n" +"specifying the far-end destination's router.\n" +"By periodically bundling a LeaseSet, the router ensures that the far-end " +"will be able\n" +"to maintain communications.\n" +"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" +"network database page." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:213 +#, python-format +msgid "" +"In the current implementation, the Delivery Status and Database Store " +"Messages\n" +"are bundled when the local LeaseSet changes, when additional\n" +"Session Tags\n" +"are delivered, or if the messages have not been bundled in the previous " +"minute." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:220 +msgid "" +"Obviously, the additional messages are currently bundled for specific " +"purposes,\n" +"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" +"network database page,\n" +"local\n" +"LeaseSets\n" +"are sent to floodfill routers in a\n" +"Database Store Message\n" +"wrapped in a\n" +"Garlic Message\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 "" +"The Garlic Message mechanism is very flexible and provides a structure " +"for\n" +"implementing many types of mixnet delivery methods.\n" +"Together with the unused delay option in the\n" +"tunnel message Delivery " +"Instructions,\n" +"a wide spectrum of batching, delay, mixing, and routing strategies are " +"possible." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:251 +msgid "" +"In particular, there is potential for much more flexibility at the " +"outbound tunnel endpoint.\n" +"Messages could possibly be routed from there to one of several tunnels\n" +"(thus minimizing point-to-point connections), or multicast to several " +"tunnels\n" +"for redundancy, or streaming audio and video." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:258 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:264 +#, python-format +msgid "" +"As a part of\n" +"ElGamal/AES encryption,\n" +"a garlic message contains a sender\n" +"specified amount of padding data, allowing the sender to take active " +"countermeasures \n" +"against traffic analysis.\n" +"This is not currently used, beyond the requirement to pad to a multiple " +"of 16 bytes." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:273 +#, python-format +msgid "" +"Encryption of additional messages to and from the\n" +"floodfill routers." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:283 +msgid "" +"The term garlic routing was first coined in Roger Dingledine's Free Haven" +" \n" +"Master's thesis " +"(June 2000),\n" +"see Section 8.1.1 authored by\n" +"Michael J. Freedman." +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 "" +"I2P Meeting 58 (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 "" +"Onion routing was first described in Hiding Routing Information\n" +"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 "" @@ -2233,89 +11911,150 @@ msgstr "Einführung in die Arbeitsweise von I2P" #: i2p2www/pages/site/docs/how/intro.html:7 msgid "" -"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" +"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" "freely available." msgstr "" -"I2P ist ein Projekt, welches ein Netzwerk zum sicheren und anonymen Kommunizieren planen, aufbauen\n" -"und betreuen wird. Nutzer von I2P haben die Kontrolle über die Verteilung zwischen Anonymität,\n" -"Verlässlichkeit, genutzter Bandbreite und Verzögerung. Es gibt keinen zentralen Punkt im Netzwerk,\n" -"welcher übernommen werden kann um die Integrität, Sicherheit oder Anonymität des Systems zu\n" -"komprimieren. Das Netzwerk kann sich in einer Reaktion auf Angriffe selber rekonfiguriern und\n" -"wurde so geplant, das es zusätzliche Ressourcen bei deren Verfügbarkeit nutzen wird.\n" -"Selbstverständlich sind alle Aspekte des Netzwerkes offen und frei verfügbar." +"I2P ist ein Projekt, welches ein Netzwerk zum sicheren und anonymen " +"Kommunizieren planen, aufbauen\n" +"und betreuen wird. Nutzer von I2P haben die Kontrolle über die " +"Verteilung zwischen Anonymität,\n" +"Verlässlichkeit, genutzter Bandbreite und Verzögerung. Es gibt " +"keinen zentralen Punkt im Netzwerk,\n" +"welcher übernommen werden kann um die Integrität, Sicherheit " +"oder Anonymität des Systems zu\n" +"komprimieren. Das Netzwerk kann sich in einer Reaktion auf Angriffe " +"selber rekonfiguriern und\n" +"wurde so geplant, das es zusätzliche Ressourcen bei deren " +"Verfügbarkeit nutzen wird.\n" +"Selbstverständlich sind alle Aspekte des Netzwerkes offen und frei " +"verfügbar." #: i2p2www/pages/site/docs/how/intro.html:17 msgid "" -"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 — 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" +"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 — " +"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" "even taken over to attempt more malicious attacks." msgstr "" -"Im Gegensatz zu vielen anderen anonymen Netzwerken versucht I2P nicht die Anonymität durch\n" -"verstecken eines Teils einer Kommunikation, der Sender oder der Empfänger, herzustellen. I2P\n" -"wurde so geplant, das Nutzer von I2P untereinander anonym kommunizieren können - Sender und\n" -"Empfänger sind für den jeweils anderen anonym als auch für nicht beteiligte dritte. Zum Beispiel\n" -"gibt es zur Zeit I2P interne Webseiten (die anonymes Publizieren/hosten erlauben) und einen\n" -"HTTP Proxy in das normale Internet (der anonymes Browsing bietet). Server im I2P Netz betreiben\n" -"zu können ist eine essentielle Angelegenheit, da angenommen werden kann, das die Proxis ins\n" -"normale Internet überwacht werden, abgeschaltet werden oder gar zu schlimmeren Angriffen genutzt\n" +"Im Gegensatz zu vielen anderen anonymen Netzwerken versucht I2P nicht die" +" Anonymität durch\n" +"verstecken eines Teils einer Kommunikation, der Sender oder der " +"Empfänger, herzustellen. I2P\n" +"wurde so geplant, das Nutzer von I2P untereinander anonym kommunizieren " +"können - Sender und\n" +"Empfänger sind für den jeweils anderen anonym als auch für" +" nicht beteiligte dritte. Zum Beispiel\n" +"gibt es zur Zeit I2P interne Webseiten (die anonymes Publizieren/hosten " +"erlauben) und einen\n" +"HTTP Proxy in das normale Internet (der anonymes Browsing bietet). Server" +" im I2P Netz betreiben\n" +"zu können ist eine essentielle Angelegenheit, da angenommen werden " +"kann, das die Proxis ins\n" +"normale Internet überwacht werden, abgeschaltet werden oder gar zu " +"schlimmeren Angriffen genutzt\n" "werden." #: i2p2www/pages/site/docs/how/intro.html:28 #, python-format msgid "" -"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 I2PTunnel 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" +"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 I2PTunnel 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" "proxies to enable the anonymizing functionality." msgstr "" -"Das Netzwerk selber ist Nachrichten basiert - es ist essentiell eine sichere und anonyme IP Schicht,\n" -"in der Nachrichten an kryptographische Schlüssel (Ziele) geschickt werden;die Nachrichten selber\n" -"können signifikant grösser als IP Pakete werden. Beispiele für die Nutzung des Netzwerkes sind\n" -"unter anderem \"Eepsites\" (Webserver mit normalen Webapplikationen innerhalb von I2P), ein\n" -"BitTorrent Klient (\"I2Psnark\") oder ein verteilter\n" -"Datencontainer. Mit der Hilfe von mihis I2PTunnel\n" -"Applikation können wir die üblichen TCP/IP Anwendungen über I2P tunneln, z.B. SSH, IRC, ein squid\n" -"Proxy oder gar Audio. Viele Leute werden I2P nicht direkt nutzen oder nicht bemerken, das sie I2P\n" -"nutzen. Stattdessen sehen sie nur eine der I2P fähigen Anwendungen oder nur eine Einstellung für\n" +"Das Netzwerk selber ist Nachrichten basiert - es ist essentiell eine " +"sichere und anonyme IP Schicht,\n" +"in der Nachrichten an kryptographische Schlüssel (Ziele) geschickt " +"werden;die Nachrichten selber\n" +"können signifikant grösser als IP Pakete werden. Beispiele " +"für die Nutzung des Netzwerkes sind\n" +"unter anderem \"Eepsites\" (Webserver mit normalen Webapplikationen " +"innerhalb von I2P), ein\n" +"BitTorrent Klient " +"(\"I2Psnark\") oder ein verteilter\n" +"Datencontainer. Mit der Hilfe von mihis I2PTunnel\n" +"Applikation können wir die üblichen TCP/IP Anwendungen " +"über I2P tunneln, z.B. SSH, IRC, ein squid\n" +"Proxy oder gar Audio. Viele Leute werden I2P nicht direkt nutzen oder " +"nicht bemerken, das sie I2P\n" +"nutzen. Stattdessen sehen sie nur eine der I2P fähigen Anwendungen " +"oder nur eine Einstellung für\n" "verschiedene Proxies, die ihnen Anonyme Verbindungen anbieten." #: i2p2www/pages/site/docs/how/intro.html:40 #, python-format msgid "" -"An essential part of designing, developing, and testing an anonymizing network is to define the threat model, 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, all on the same network, where each one's messages are essentially indistinguishable\n" +"An essential part of designing, developing, and testing an anonymizing " +"network is to define the threat model, 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, all on the same network, where each one's messages are " +"essentially indistinguishable\n" "from the others." msgstr "" -"Ein wichtiger Teil des Planens, Entwickelns und Testens eines anonymen Netzwerkes ist das\n" -"Definieren des Angriffsszenarios, da es \"echte\" Anonymität nicht gibt,\n" +"Ein wichtiger Teil des Planens, Entwickelns und Testens eines anonymen " +"Netzwerkes ist das\n" +"Definieren des Angriffsszenarios, da es " +"\"echte\" Anonymität nicht gibt,\n" "nur steigende Kosten und.\n" -"Aufwand jemanden zu identifizieren. Kurz gesagt: I2P Absicht ist es, Personen in willkürlichen\n" -"feindseligen Umgebungen einen militärischen Grad der Anonymität zu bieten, versteckt in dem\n" -"hinreichendem Datenstrom aus der Aktivität anderer Leute, die weniger Anonymität benötigen.\n" -"Dieses beinhaltet den Chat von Joe Sixpack mit seinen Freuden, den niemanden mitlesen kann,\n" -"Jane Filesharer, die wei?~_ das die grossen Konzerne sie beim Tauschen von Dateien nicht\n" -"identifizieren können, als auch Will Geheimnisverräter, der geheime Dokumente veröffentlicht -\n" -"alles in dem selben Netzwerk, in dem eine Nachricht nicht von einer anderen unterschieden werden\n" +"Aufwand jemanden zu identifizieren. Kurz gesagt: I2P Absicht ist es, " +"Personen in willkürlichen\n" +"feindseligen Umgebungen einen militärischen Grad der Anonymität" +" zu bieten, versteckt in dem\n" +"hinreichendem Datenstrom aus der Aktivität anderer Leute, die " +"weniger Anonymität benötigen.\n" +"Dieses beinhaltet den Chat von Joe Sixpack mit seinen Freuden, den " +"niemanden mitlesen kann,\n" +"Jane Filesharer, die wei?~_ das die grossen Konzerne sie beim Tauschen " +"von Dateien nicht\n" +"identifizieren können, als auch Will Geheimnisverräter, der " +"geheime Dokumente veröffentlicht -\n" +"alles in dem selben Netzwerk, in dem eine Nachricht nicht von " +"einer anderen unterschieden werden\n" "kann." #: i2p2www/pages/site/docs/how/intro.html:51 @@ -2325,17 +12064,14 @@ msgstr "Warum?" #: i2p2www/pages/site/docs/how/intro.html:52 #, python-format msgid "" -"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 other\n" -"efforts working on finding ways to provide varying degrees of anonymity to people through the\n" +"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 other\n" +"efforts working on finding ways to provide varying degrees of " +"anonymity to people through the\n" "Internet, but we could not find any that met our needs or threat model." msgstr "" -"Es existieren eine unglaubliche Anzahl an fantastischen Gründen, weswegen wir ein System zum\n" -"anonymen Kommunizieren benötigen und jeder hat seine eigenen persönlichen rationalen Gründe.\n" -"Es gibt viele andere Bestrebungen, die auf dem einem oder anderen Weg\n" -"unterschiedliche\n" -"Arten der Anonymität im Internet zu erreichen versuchen, aber wir fanden keine, die unsere\n" -"Anforderungen oder unser Angriffszenario abdeckten." #: i2p2www/pages/site/docs/how/intro.html:59 msgid "How?" @@ -2344,26 +12080,45 @@ msgstr "Wie?" #: i2p2www/pages/site/docs/how/intro.html:61 #, python-format msgid "" -"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 tunnel routing 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" -"network database (using a modification of the Kademlia algorithm) for\n" +"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 tunnel routing 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" +"network database (using a modification of the " +"Kademlia algorithm) for\n" "distributing routing and contact information securely." msgstr "" -"In einer übersicht existiert das Netzwerk aus einer Gruppe von Knoten (\"Router\") mit einer\n" -"Anzahl an unidirektionalen virtueller Eingangs und Ausgangs Wege (\"Tunnel\", wie in der\n" -"Tunnel Routing Seite beschrieben). Jeder Router wird duch eine kryptographische RouterIdentity\n" -"eindeutig indentifiziert, diese ist für gewöhnlich dauerhaft gültig. Diese Router kommunizieren\n" -"über vorhandene Transportmechanosmen (TCP, UDP, etc.) und tauschen verschiedene Nachrichten aus.\n" -"Klientprogramme haben ihre eigenen kryptographischen Ident (\"Destination\"), durch den sie\n" -"zum Senden und Empfangen von Nachrichten befähigt sind. Diese Klienten können zu irgendwelchen\n" -"Routern Verbindung aufnehmen und authorisieren ihre derzeitige Belegung (\"lease\") von ein paar\n" -"Tunneln, die zum Senden und Empfangen von Nachrichten durch das Netzwerk benutzt werden. I2P\n" -"hat eine eigene Netzwerk Datenbank (\"Floodfill\")\n" +"In einer übersicht existiert das Netzwerk aus einer Gruppe von " +"Knoten (\"Router\") mit einer\n" +"Anzahl an unidirektionalen virtueller Eingangs und Ausgangs Wege " +"(\"Tunnel\", wie in der\n" +"Tunnel Routing Seite beschrieben). " +"Jeder Router wird duch eine kryptographische RouterIdentity\n" +"eindeutig indentifiziert, diese ist für gewöhnlich dauerhaft " +"gültig. Diese Router kommunizieren\n" +"über vorhandene Transportmechanosmen (TCP, UDP, etc.) und tauschen " +"verschiedene Nachrichten aus.\n" +"Klientprogramme haben ihre eigenen kryptographischen Ident " +"(\"Destination\"), durch den sie\n" +"zum Senden und Empfangen von Nachrichten befähigt sind. Diese " +"Klienten können zu irgendwelchen\n" +"Routern Verbindung aufnehmen und authorisieren ihre derzeitige Belegung " +"(\"lease\") von ein paar\n" +"Tunneln, die zum Senden und Empfangen von Nachrichten durch das Netzwerk " +"benutzt werden. I2P\n" +"hat eine eigene Netzwerk Datenbank " +"(\"Floodfill\")\n" "zum skalierbaren sicherem Verteilen von Routing und Kontaktinformationen." #: i2p2www/pages/site/docs/how/intro.html:74 @@ -2372,103 +12127,168 @@ msgstr "" #: i2p2www/pages/site/docs/how/intro.html:76 msgid "" -"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" +"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" "as new leases are authorized and old ones expire." msgstr "" -"Im oberen Bild betreiben Alice, Bob, Charlie und Dave je einen Router mit einer einzigen\n" -"Destination auf ihren lokalen Router. Sie haben alle ein paar 2-Hop Eingangstunnel je\n" -"Destination (mit 1, 2, 3, 4, 5 und 6 bezeichnet) und ein paar haben 2-Hop Ausgangstunnel.\n" -"Zur Vereinfachung sind Charlies Eingangstunnel und Daves Ausgangstunnel nicht eingezeichnet,\n" -"ebenso wie weitere Ausgangstunnel der Router (normalerweise so 5-10 Tunnel gleichzeitig).\n" -"Sobald Alice und Bob miteiander reden, sendet Alice eine Nachricht über ihren (pinken)\n" -"Ausgangstunnel in Richtung eines vons Bobs Eingangstunneln (grün, Tunnel 3 oder 4). Sie lernt\n" -"den Eingangstunnel durch eine Abfrage der Netzwerk Datenbank kennen, diese Datenbank wird\n" -"dauerhaft aktualisiert sobald neue Leases authorisiert sind und ältere auslaufen." +"Im oberen Bild betreiben Alice, Bob, Charlie und Dave je einen Router mit" +" einer einzigen\n" +"Destination auf ihren lokalen Router. Sie haben alle ein paar 2-Hop " +"Eingangstunnel je\n" +"Destination (mit 1, 2, 3, 4, 5 und 6 bezeichnet) und ein paar haben 2-Hop" +" Ausgangstunnel.\n" +"Zur Vereinfachung sind Charlies Eingangstunnel und Daves Ausgangstunnel " +"nicht eingezeichnet,\n" +"ebenso wie weitere Ausgangstunnel der Router (normalerweise so 5-10 " +"Tunnel gleichzeitig).\n" +"Sobald Alice und Bob miteiander reden, sendet Alice eine Nachricht " +"über ihren (pinken)\n" +"Ausgangstunnel in Richtung eines vons Bobs Eingangstunneln (grün, " +"Tunnel 3 oder 4). Sie lernt\n" +"den Eingangstunnel durch eine Abfrage der Netzwerk Datenbank kennen, " +"diese Datenbank wird\n" +"dauerhaft aktualisiert sobald neue Leases authorisiert sind und " +"ältere auslaufen." #: i2p2www/pages/site/docs/how/intro.html:88 #, python-format msgid "" -"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 garlic\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." +"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 garlic\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" -"über einen seiner Ausgangstunnel in Richtung eines von Alice Eingangstunnels (Tunnel 1 oder 2).\n" -"Um vieles einfacher zu machen, sind viele Nachrichten zwischen Bob und Alice in sogenannte\n" -"\"Garlics\" eingepackt, in denen die Lease Information vom\n" -"Sender enthalten ist, so das der Empfänger sofort antworten kann ohne in der Netzwerk\n" +"Antwortet Bob nun Alice, geschieht dieses auf der selben Art und Weise - " +"er sendet eine Nachricht\n" +"über einen seiner Ausgangstunnel in Richtung eines von Alice " +"Eingangstunnels (Tunnel 1 oder 2).\n" +"Um vieles einfacher zu machen, sind viele Nachrichten zwischen Bob und " +"Alice in sogenannte\n" +"\"Garlics\" eingepackt, in denen die " +"Lease Information vom\n" +"Sender enthalten ist, so das der Empfänger sofort antworten kann " +"ohne in der Netzwerk\n" "Datenbank nach den benötigten Informationen suchen zu müssen." #: i2p2www/pages/site/docs/how/intro.html:96 #, python-format msgid "" -"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 peer selection\n" +"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 peer selection\n" "page." msgstr "" -"Um einigen Attacken aus dem Wege zu gehen ist I2P dezentral aufgebaut, ohne eine zentrale Instanz -\n" -"und wie schon richtig geraten existiert kein zentraler Verzeichnisdienst, der Informationen\n" -"zur Performance und Kontinuität der Router im Netzwerk verwaltet. Daraus folgt, da?~_jeder Router\n" -"eigene Profile verschiedener Router halten und pflegen muss. Ebenso ist jeder Router selber\n" -"verantwortlich für die Auswahl der korrekten Knoten um die Anforderungen an die Anonymität,\n" -"Performance und Konitnuität des Benutzers zu erfüllen, so wie es in der\n" -"\"Knoten Auswahl\" Seite beschrieben ist." +"Um einigen Attacken aus dem Wege zu gehen ist I2P dezentral aufgebaut, " +"ohne eine zentrale Instanz -\n" +"und wie schon richtig geraten existiert kein zentraler Verzeichnisdienst," +" der Informationen\n" +"zur Performance und Kontinuität der Router im Netzwerk verwaltet. " +"Daraus folgt, da?~_jeder Router\n" +"eigene Profile verschiedener Router halten und pflegen muss. Ebenso ist " +"jeder Router selber\n" +"verantwortlich für die Auswahl der korrekten Knoten um die " +"Anforderungen an die Anonymität,\n" +"Performance und Konitnuität des Benutzers zu erfüllen, so wie " +"es in der\n" +"\"Knoten Auswahl\" Seite beschrieben " +"ist." #: i2p2www/pages/site/docs/how/intro.html:105 #, python-format msgid "" -"The network itself makes use of a significant number of cryptographic\n" -"techniques and algorithms - 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 ElGamal / AES+SessionTag." +"The network itself makes use of a significant number of cryptographic\n" +"techniques and algorithms - 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 ElGamal / AES+SessionTag." msgstr "" -"Das Netzwerk selber nutzt eine signifikante Anzahl von Kryptographischen\n" -"Techniken und Algorhytmen - die Liste umfässt 2048bit ElGamal Verschlüsselung, 256bit\n" -"AES im CBC Modus mit PKCS#5 Padding, 1024bit DSA Signaturen, SHA256 Hashes, 2048bit Diffie-Hellmann\n" -"vermittelte Verbindungen mit Station-zu-Station Authentifizierung und \n" +"Das Netzwerk selber nutzt eine signifikante Anzahl von Kryptographischen\n" +"Techniken und Algorhytmen - die Liste umfässt 2048bit ElGamal " +"Verschlüsselung, 256bit\n" +"AES im CBC Modus mit PKCS#5 Padding, 1024bit DSA Signaturen, SHA256 " +"Hashes, 2048bit Diffie-Hellmann\n" +"vermittelte Verbindungen mit Station-zu-Station Authentifizierung und \n" "ElGamal / AES+SessionTag." #: i2p2www/pages/site/docs/how/intro.html:113 msgid "" -"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" +"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" "encryption (e.g. the TCP transport uses AES256 with ephemeral keys)." msgstr "" -"Daten die über I2P gesendet werden, durchlaufen 3 Verschlüsselungen: garlic\n" -"Verschlüsselung (zur überprüfung ob die Nachrichten beim Empfänger\n" -"angekommen ist), Tunnel Verschlüsselung (alle Nachrichten, die durch einen Tunnel gehen,\n" +"Daten die über I2P gesendet werden, durchlaufen 3 " +"Verschlüsselungen: garlic\n" +"Verschlüsselung (zur überprüfung ob die Nachrichten beim " +"Empfänger\n" +"angekommen ist), Tunnel Verschlüsselung (alle Nachrichten, die " +"durch einen Tunnel gehen,\n" "sind vom Tunnel Gateway bis zum Tunnel Endpunkt verschlüsselt) und\n" -"Zwischen-den-Routern-Transport-Schicht Verschlüsselung (z.B. benutzt der TCP Transport\n" +"Zwischen-den-Routern-Transport-Schicht Verschlüsselung (z.B. benutzt" +" der TCP Transport\n" "AES256 mit Ephemeral Schlüssel)." #: i2p2www/pages/site/docs/how/intro.html:120 msgid "" -"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" +"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" "applications running atop of I2P." msgstr "" -"Ende-zu-Ende (I2CP) Verschlüsselung (von Programm zu Programm) wurde in der I2P Version 0.6 deaktiviert;\n" -"Ende-zu-Ende (garlic) Verschlüsselung von Alice Router \"a\" zu Bobs Router \"h\" existiert weiterhin.\n" -"Bitte beachte im foglendem Bild den anderen Gebrauch der Wörter! a und h sind die I2P Router mit\n" -"der Ende-zu-Ende Verschlüsselung von Router zu Router, Alice und Bob hingegen sind die Programme\n" -"die mittels(unverschlüsseltem) I2CP mit den I2P Routern kommunizieren! Sprich: bis zum I2P Router\n" -"sind die Daten unverschlüsselt, ab dem I2P Router ist alles Ende-zu-Ende verschlüsselt." +"Ende-zu-Ende (I2CP) Verschlüsselung (von Programm zu Programm) wurde" +" in der I2P Version 0.6 deaktiviert;\n" +"Ende-zu-Ende (garlic) Verschlüsselung von Alice Router \"a\" zu Bobs" +" Router \"h\" existiert weiterhin.\n" +"Bitte beachte im foglendem Bild den anderen Gebrauch der Wörter! a " +"und h sind die I2P Router mit\n" +"der Ende-zu-Ende Verschlüsselung von Router zu Router, Alice und Bob" +" hingegen sind die Programme\n" +"die mittels(unverschlüsseltem) I2CP mit den I2P Routern " +"kommunizieren! Sprich: bis zum I2P Router\n" +"sind die Daten unverschlüsselt, ab dem I2P Router ist alles Ende-zu-" +"Ende verschlüsselt." #: i2p2www/pages/site/docs/how/intro.html:129 msgid "End to end layered encryption" @@ -2476,117 +12296,14978 @@ msgstr "" #: i2p2www/pages/site/docs/how/intro.html:131 #, python-format -msgid "The specific use of these algorithms are outlined elsewhere." -msgstr "Die genaue Anwendung dieser Algorhytmen sind woanders beschrieben." +msgid "" +"The specific use of these algorithms are outlined elsewhere." +msgstr "" +"Die genaue Anwendung dieser Algorhytmen sind woanders beschrieben." #: i2p2www/pages/site/docs/how/intro.html:135 msgid "" -"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" +"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" "deployment of more flexible and anonymous transports." msgstr "" -"Die zwei Hauptbestandteile für den militärischen Grad der Anonymität sind explizite, verzögerte\n" -"garlic geroutete Nachrichten und mehr umfassende Tunnel mit Unterstützung von Pooling und Mixen\n" -"von Nachrichten. Diese Funktionen sind zur Zeit für Version 3.0 geplant, aber garlic geroutete\n" -"Nachrichten mit keiner Verzögerung und FIFO Tunnels sind schon implementiert. Zusätzlich wird\n" -"die Version 2.0 den Leuten erlauben, I2P hinter beschränkten Routen (möglicherweise mit vertrauten\n" -"Knoten) aufzusetzen und zu betreiben; ebenso werden die flexiblere und anonymere Transports\n" +"Die zwei Hauptbestandteile für den militärischen Grad der " +"Anonymität sind explizite, verzögerte\n" +"garlic geroutete Nachrichten und mehr umfassende Tunnel mit " +"Unterstützung von Pooling und Mixen\n" +"von Nachrichten. Diese Funktionen sind zur Zeit für Version 3.0 " +"geplant, aber garlic geroutete\n" +"Nachrichten mit keiner Verzögerung und FIFO Tunnels sind schon " +"implementiert. Zusätzlich wird\n" +"die Version 2.0 den Leuten erlauben, I2P hinter beschränkten Routen " +"(möglicherweise mit vertrauten\n" +"Knoten) aufzusetzen und zu betreiben; ebenso werden die flexiblere und " +"anonymere Transports\n" "eingebaut werden." #: i2p2www/pages/site/docs/how/intro.html:144 -#, fuzzy, python-format +#, python-format msgid "" -"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" -"O(log(N)) due to the network database's algorithm, while end\n" -"to end messages should be O(1) (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" +"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" +"O(log(N)) due to the network " +"database's algorithm, while end\n" +"to end messages should be O(1) (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" "the network (N) bears no impact." msgstr "" -"Es kamen ein paar berechtigte Fragen bezüglich der Skalierbarkeit von I2P auf. Mit der Zeit werden\n" -"sicher detailiertere Analysen kommen, aber Knoten suchen und Integration sollte mit O(log(N))\n" -"Komplexität eingehen due to the network database's algorithm,\n" -"während Ende-zu-Ende Nachrichten mit O(1) (frei skalierend) eingehen, da\n" -"Nachrichten durch K Hops im Ausgangstunnel und durch weitere K Hops im Eingangstunnel gehen -\n" -"die Grösse des Netzwerkes (N) hat hier keinen Einfluss." #: i2p2www/pages/site/docs/how/intro.html:153 msgid "When?" msgstr "Wann?" #: i2p2www/pages/site/docs/how/intro.html:154 -#, fuzzy, python-format +#, python-format msgid "" "I2P initially began in Feb 2003 as a proposed modification to Freenet to allow it to use alternate transports, such as JMS, then grew into its own as an\n" -"'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 roadmap." +"href=\"http://freenetproject.org\">Freenet to allow it to use " +"alternate transports, such as JMS, then grew into its own as an\n" +"'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" +" roadmap." msgstr "" -"I2P startete im Februar 2003 als eine vorgeschlagene Modifizierung zu \n" -"Freenet, damit dieses alternative Transports, wie z.B. \n" -"JMS, nutzen könne. Dann wuchs es in ein eigenes 'anonCommFramework' im April 2003,\n" -"worauf es im July zu I2P wurde. Ersten Quelltext gab es im August 2003. I2P folgt in der Entwicklung\n" -"derderzeitigen Roadmap." -#: i2p2www/pages/site/docs/how/intro.html:163 +#: i2p2www/pages/site/docs/how/intro.html:164 msgid "Who?" msgstr "Wer?" -#: i2p2www/pages/site/docs/how/intro.html:164 -#, fuzzy, python-format +#: i2p2www/pages/site/docs/how/intro.html:165 +#, python-format msgid "" -"We have a small team 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 Sun Java SE and other Java Virtual Machines." +"We have a small team 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 Sun Java SE and other Java Virtual" +" Machines." msgstr "" -"Wir sind ein kleines Team aus merhren Ländern aus verschiedenen Kontinenten, das an der\n" -"Weiterentwicklung von einzelnen Aspekten des Projektes arbeitet. Wir sind offen für weitere\n" -"Entwickler, die sich einbringen wollen und auch gegenüber jedem anderen, der etwas zum\n" -"Projekt beibringen kann, sei es Kritiken, Peer Review, Testen, schreiben neuer I2P\n" -"kompatibler Anwendungen oder aber auch Dokumentationen. Das gesamte System ist Open Source -\n" -"Der Router und ein Gro?~_eil des SDK sind zur Gänze Public Domain mit ein wenig BSD und\n" -"Cryptix Lizensiertem Code, wohingegen einige Anwendungen wie I2PTunnel und I2PSnark\n" -"GPL lizensiert sind. Fast alles ist in Java (1.5+) geschrieben, einige externe Anwendungen sind jedoch in\n" -"Python geschrieben. Der Code arbeitet im aktuellen Kaffee und wir hoffen ihn möglichst bald\n" -"auf GCJ lauffähig zu bekommen." -#: i2p2www/pages/site/docs/how/intro.html:175 +#: i2p2www/pages/site/docs/how/intro.html:176 msgid "Where?" msgstr "Wo?" -#: i2p2www/pages/site/docs/how/intro.html:176 +#: i2p2www/pages/site/docs/how/intro.html:177 #, python-format msgid "" -"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 archives are available." +"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 archives" +" are available." msgstr "" -"Jeder mit Interesse an I2P sollte uns im #i2p IRC Raum (gehostet auf irc.freenode.net,\n" -"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p und irc.einirc.de) besuchen. Es gibt zur Zeit\n" -"keine fest geplanten Entwicklertreffen, dennoch existiert ein Archiv\n" +"Jeder mit Interesse an I2P sollte uns im #i2p IRC Raum (gehostet auf " +"irc.freenode.net,\n" +"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p und irc.einirc.de)" +" besuchen. Es gibt zur Zeit\n" +"keine fest geplanten Entwicklertreffen, dennoch existiert ein Archiv\n" "von abgehaltenen Entwickler Treffen." -#: i2p2www/pages/site/docs/how/intro.html:182 +#: i2p2www/pages/site/docs/how/intro.html:183 #, python-format msgid "The current source is available in monotone." -msgstr "Der aktuelle Quelltext ist in Monotone verfügbar." +msgstr "" +"Der aktuelle Quelltext ist in Monotone " +"verfügbar." -#: i2p2www/pages/site/docs/how/intro.html:186 -msgid "Additional Information" +#: i2p2www/pages/site/docs/how/intro.html:188 +#, python-format +msgid "See the Index to Technical Documentation." msgstr "" -#: i2p2www/pages/site/docs/how/intro.html:187 +#: i2p2www/pages/site/docs/how/network-database.html:2 +msgid "The Network Database" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:8 +msgid "" +"I2P's netDb is a specialized distributed database, containing \n" +"just two types of data - router contact information (RouterInfos) " +"and destination contact\n" +"information (LeaseSets). 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" +"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" +"where a subset of all routers, called \"floodfill routers\", maintains " +"the distributed database." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:25 +msgid "" +"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" +"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 "" +"The contact addresses at which it can be reached (e.g. TCP: example.org " +"port 4108)" +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 +msgid "The signature of the above, generated by the identity's DSA signing key" +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 "" +"Capabilities flags - used to indicate floodfill participation, " +"approximate bandwidth, and perceived reachability" +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 "" +"Always sent as 90m, for compatibility with an older scheme where routers " +"published their actual uptime,\n" +"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" +"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" +"the router meets a minimum threshold for routing tunnels.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:72 #, python-format -msgid "See the Index to Technical Documentation." +msgid "" +"Additional text options include\n" +"a small number of statistics about the router's health, which are " +"aggregated by\n" +"sites such as %(stats)s\n" +"for network performance analysis and debugging.\n" +"These statistics were chosen to provide data crucial to the developers,\n" +"such as tunnel build success rates, while balancing the need for such " +"data\n" +"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" +"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." +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" +"Each router is free to maintain its own local policy to trade off the " +"frequency of RouterInfo lookups\n" +"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 "" +"There is no expiration during the first hour of uptime, as the persistent" +" stored data may be old." +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 "" +"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" +"while expiration time with 300 routers is around 30 hours." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:120 +#, python-format +msgid "" +"RouterInfos containing SSU introducers expire in " +"about an hour, as\n" +"the introducer list expires in about that time." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:124 +msgid "" +"Floodfills use a short expiration time (1 hour) for all local " +"RouterInfos, as valid RouterInfos will\n" +"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 "" +"The second piece of data distributed in the netDb is a \"LeaseSet\" - " +"documenting\n" +"a group of tunnel entry points (leases) for a particular client " +"destination.\n" +"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 "" +"Additional encryption public key: used for end-to-end encryption of " +"garlic messages" +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 "" +"Signature of all the LeaseSet data, to make sure the Destination " +"published the LeaseSet." +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 "" +"A LeaseSet for a destination used only for outgoing connections is " +"unpublished.\n" +"It is never sent for publication to a floodfill router.\n" +"\"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" +"because of I2NP storage messages." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:187 +msgid "Revoked LeaseSets" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:188 +msgid "" +"A LeaseSet may be revoked 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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:195 +msgid "Encrypted LeaseSets" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:196 +msgid "" +"In an encrypted 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" +"by those with the key.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:205 +msgid "LeaseSet Expiration" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:206 +msgid "" +"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet " +"expires\n" +"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" +"ties you in. This is accomplished by \"reseeding\" your router with the " +"RouterInfo\n" +"of an active peer - specifically, by retrieving their " +"routerInfo-$hash.dat\n" +"file and storing it in your netDb/ directory. Anyone can " +"provide\n" +"you with those files - you can even provide them to others by exposing " +"your own\n" +"netDb directory. To simplify the process,\n" +"volunteers publish their netDb directories (or a subset) on the regular " +"(non-i2p) network,\n" +"and the URLs of these directories are hardcoded in I2P.\n" +"When the router starts up for the first time, it automatically fetches " +"from\n" +"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" +"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 XOR-metric) to a specific key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:244 +msgid "" +"Determining who is part of the floodfill netDb is trivial - it is exposed" +" in each \n" +"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" +"The current minimum share bandwidth for a floodfill router is 128 " +"KBytes/sec." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:275 +msgid "" +"In addition, a router must pass several additional tests for health\n" +"(outbound message queue time, job lag, etc.) before floodfill operation " +"is\n" +"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 "" +"A floodfill router's only services that are in addition to those of non-" +"floodfill routers\n" +"are in accepting netDb stores and responding to netDb queries.\n" +"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." +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 "" +"The netDb uses a simple Kademlia-style XOR metric to determine closeness." +"\n" +"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" +"A modification to this algorithm is done to increase the costs of Sybil attacks.\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)." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:317 +msgid "Storage, Verification, and Lookup Mechanics" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:319 +msgid "RouterInfo Storage to Peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:320 +#, python-format +msgid "" +"I2NP DatabaseStoreMessages containing the local " +"RouterInfo are exchanged with peers\n" +"as a part of the initialization of a NTCP\n" +"or SSU transport connection." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:327 +msgid "LeaseSet Storage to Peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:328 +#, python-format +msgid "" +"I2NP 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 +msgid "RouterInfo Storage to Floodfills" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:337 +#, python-format +msgid "" +"A router publishes its own RouterInfo by directly connecting to a " +"floodfill router\n" +"and sending it a I2NP DatabaseStoreMessage\n" +"with a nonzero 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 floodfill router replies with a\n" +"I2NP DeliveryStatusMessage,\n" +"with the Message ID set to the value of the Reply Token." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:351 +msgid "LeaseSet Storage to Floodfills" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:352 +msgid "" +"Storage of LeaseSets is much more sensitive than for RouterInfos, as a " +"router\n" +"must take care that the LeaseSet cannot be associated with the router." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:357 +#, python-format +msgid "" +"A router publishes a local LeaseSet by\n" +"sending a I2NP DatabaseStoreMessage\n" +"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" +"to hide the message from the tunnel's outbound endpoint.\n" +"The floodfill router replies with a\n" +"I2NP 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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:370 +msgid "Flooding" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:371 +msgid "" +"After a floodfill router receives a DatabaseStoreMessage containing a\n" +"valid RouterInfo or LeaseSet which is newer than that previously stored " +"in its\n" +"local NetDb, it \"floods\" it.\n" +"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.)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:379 +#, python-format +msgid "" +"It then directly connects to each of the 7 peers\n" +"and sends it a I2NP 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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:389 +msgid "RouterInfo and LeaseSet Lookup" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:390 +#, python-format +msgid "" +"The I2NP DatabaseLookupMessage is used to " +"request a netdb entry from a floodfill router.\n" +"Lookups are sent out one of the router's outbound exploratory tunnels.\n" +"The replies are specified to return via one of the router's inbound " +"exploratory tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:396 +msgid "" +"Lookups are generally sent to the two \"good\" (the connection doesn't " +"fail) floodfill routers closest to the requested key, in parallel." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:400 +#, python-format +msgid "" +"If the key is found locally by the floodfill router, it responds with a\n" +"I2NP DatabaseStoreMessage.\n" +"If the key is not found locally by the floodfill router, it responds with" +" a\n" +"I2NP DatabaseSearchReplyMessage\n" +"containing a list of other floodfill routers close to the key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:408 +msgid "" +"Lookups are not encrypted and thus are vulnerable to snooping by the " +"outbound endpoint\n" +"(OBEP) of the client tunnel." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:413 +msgid "" +"As the requesting router does not reveal itself, there is no recipient " +"public key for the floodfill router to\n" +"encrypt the reply with. Therefore, the reply is exposed to the inbound " +"gateway (IBGW)\n" +"of the inbound exploratory tunnel.\n" +"An appropriate method of encrypting the reply is a topic for future work." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:420 +#, python-format +msgid "" +"(Reference: Hashing it out in Public Sections " +"2.2-2.3 for terms below in italics)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:424 +msgid "" +"Due to the relatively small size of the network and the flooding " +"redundancy of 8x,\n" +"lookups are usually O(1) rather than O(log n) --\n" +"a router is highly likely to know a floodfill router close enough to the " +"key to get the answer on the first try.\n" +"In releases prior to 0.8.9, routers used a lookup redundancy of two\n" +"(that is, two lookups were performed in parallel to different peers), and" +"\n" +"neither recursive nor iterative routing for lookups was " +"implemented.\n" +"Queries were sent through multiple routes simultaneously\n" +"to reduce the chance of query failure." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:435 +msgid "" +"As of release 0.8.9, iterative lookups are implemented with no " +"lookup redundancy.\n" +"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" +"limitation to network growth. As the network grows and each router knows " +"only a small\n" +"subset of the floodfill peers, lookups will become O(log n).\n" +"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" +"or the maximum number of peers is queried." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:447 +msgid "" +"Node IDs are verifiable 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" +"Given the current size of the network, a router has\n" +"detailed knowledge of the neighborhood of the destination ID space." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:456 +msgid "RouterInfo Storage Verification" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:457 +msgid "" +"To verify a storage was successful, a router simply waits about 10 " +"seconds,\n" +"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" +"Lookups are end-to-end garlic encrypted to prevent snooping by the " +"outbound endpoint(OBEP)." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:465 +msgid "LeaseSet Storage Verification" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:466 +msgid "" +"To verify a storage was successful, a router simply waits about 10 " +"seconds,\n" +"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 outbound client tunnels for the destination " +"of the LeaseSet being verified.\n" +"To prevent snooping by the OBEP of the outbound tunnel,\n" +"lookups are end-to-end garlic encrypted.\n" +"The replies are specified to return via one of the client's inbound " +"tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:476 +msgid "" +"As for regular lookups, the reply is unencrypted,\n" +"thus exposing the reply to the inbound gateway (IBGW) of the reply " +"tunnel, and\n" +"an appropriate method of encrypting the reply is a topic for future work." +"\n" +"As the IBGW for the reply is one of the gateways published in the " +"LeaseSet,\n" +"the exposure is minimal." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:486 +msgid "Exploration" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:487 +#, python-format +msgid "" +"Exploration is a special form of netdb lookup, where a router " +"attempts to learn about\n" +"new routers.\n" +"It does this by sending a floodfill router a I2NP DatabaseLookupMessage, looking for a random " +"key.\n" +"As this lookup will fail, the floodfill would normally respond with a\n" +"I2NP 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" +"\"don't include\" field of the DatabaseLookupMessage.\n" +"The floodfill will then respond only with non-floodfill routers close to " +"the requested key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:501 +msgid "Notes on Lookup Responses" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:502 +msgid "" +"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" +"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" +"There are no other response tags. Therefore, when making multiple " +"requests in parallel, it is\n" +"difficult to monitor the performance of the various floodfill routers." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:512 +msgid "MultiHoming" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:514 +msgid "" +"Destinations may be hosted on multiple routers simultaneously, by using " +"the same\n" +"private and public keys (traditionally stored in eepPriv.dat files).\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:524 +msgid "Threat Analysis" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:525 +#, python-format +msgid "" +"Also discussed on the threat model " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:529 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:536 +msgid "General Mitigation Through Growth" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:537 +msgid "" +"There are currently hundreds of floodfill routers in the network.\n" +"Most of the following attacks will become more difficult, or have less " +"impact,\n" +"as the network size and number of floodfill routers increase." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:544 +msgid "General Mitigation Through Redundancy" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:545 +msgid "" +"Via flooding, all netdb entries are stored on the 8 floodfill routers " +"closest to the key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:550 +msgid "Forgeries" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:551 +msgid "" +"All netdb entries are signed by their creators, so no router may forge a\n" +"RouterInfo or LeaseSet." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:556 +msgid "Slow or Unresponsive" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:557 +#, python-format +msgid "" +"Each router maintains an expanded set of statistics in the\n" +"peer profile for each floodfill router," +"\n" +"covering various quality metrics for that peer.\n" +"The set includes:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:564 +msgid "Average response time" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:565 +msgid "Percentage of queries answered with the data requested" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:566 +msgid "Percentage of stores that were successfully verified" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:567 +msgid "Last successful store" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:568 +msgid "Last successful lookup" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:569 +msgid "Last response" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:572 +msgid "" +"Each time a router needs to make a determination on which floodfill " +"router is closest to a key,\n" +"it uses these metrics to determine which floodfill routers are \"good\".\n" +"The methods, and thresholds, used to determine \"goodness\" are " +"relatively new, and\n" +"are subject to further analysis and improvement.\n" +"While a completely unresponsive router will quickly be identified and " +"avoided,\n" +"routers that are only sometimes malicious may be much harder to deal with." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:582 +msgid "Sybil Attack (Full Keyspace)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:583 +#, python-format +msgid "" +"An attacker may mount a Sybil attack\n" +"by creating a large number of floodfill routers spread throughout the " +"keyspace." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:588 +#, python-format +msgid "" +"(In a related example, a researcher recently created a\n" +"large number of Tor relays.)\n" +"If successful, this could be an effective DOS attack on the entire " +"network." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:594 +msgid "" +"If the floodfills are not sufficiently misbehaving to be marked as " +"\"bad\" using the peer profile\n" +"metrics described above, this is a difficult scenario to handle.\n" +"Tor's response can be much more nimble in the relay case, as the " +"suspicious relays\n" +"can be manually removed from the consensus.\n" +"Some possible responses for the I2P network are listed below, however " +"none of them is completely satisfactory:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:602 +msgid "" +"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" +"add it to their local \"blacklist\"." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:607 +msgid "" +"Ask everyone in the network to enable floodfill manually (fight Sybil " +"with more Sybil)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:608 +msgid "Release a new software version that includes the hardcoded \"bad\" list" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:609 +msgid "" +"Release a new software version that improves the peer profile metrics and" +" thresholds,\n" +"in an attempt to automatically identify the \"bad\" peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:613 +msgid "" +"Add software that disqualifies floodfills if too many of them are in a " +"single IP block" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:614 +msgid "" +"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" +"block participation of any particular router or IP in the network,\n" +"or even to completely shutdown or destroy the entire network." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:623 +#: i2p2www/pages/site/docs/how/network-database.html:659 +msgid "This attack becomes more difficult as the network size grows." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:629 +msgid "Sybil Attack (Partial Keyspace)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:630 +#, python-format +msgid "" +"An attacker may mount a Sybil attack\n" +"by creating a small number (8-15) of floodfill routers clustered closely " +"in the keyspace,\n" +"and distribute the RouterInfos for these routers widely.\n" +"Then, all lookups and stores for a key in that keyspace would be directed" +"\n" +"to one of the attacker's routers.\n" +"If successful, this could be an effective DOS attack on a particular " +"eepsite, for example." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:639 +msgid "" +"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" +"until he has enough that are sufficiently close to the key.\n" +"The amount of computational power required for this, which is dependent " +"on network\n" +"size, is unknown." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:647 +msgid "" +"As a partial defense against this attack,\n" +"the algorithm used to determine Kademlia \"closeness\" varies over time.\n" +"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" +"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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:663 +msgid "" +"One consequence of daily keyspace rotation is that the distributed " +"network database\n" +"may become unreliable for a few minutes after the rotation --\n" +"lookups will fail because the new \"closest\" router has not received a " +"store yet.\n" +"The extent of the issue, and methods for mitigation\n" +"(for example netdb \"handoffs\" at midnight)\n" +"are a topic for further study." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:673 +msgid "Bootstrap Attacks" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:674 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:681 +msgid "Several defenses are possible, and most of these are planned:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:685 +msgid "" +"Disallow fallback from HTTPS to HTTP for reseeding.\n" +"A MITM attacker could simply block HTTPS, then respond to the HTTP." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:689 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:693 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:698 +msgid "Bundling reseed data in the installer" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:701 +msgid "Query Capture" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:702 +#, python-format +msgid "" +"See also lookup\n" +"(Reference: Hashing it out in Public Sections " +"2.2-2.3 for terms below in italics)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:707 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:712 +msgid "" +"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" +"Exploration results are generally limited to a few router hashes,\n" +"and each exploration query is directed to a random floodfill router." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:719 +#, python-format +msgid "" +"As of release 0.8.9, iterative lookups are implemented.\n" +"For floodfill router references returned in a\n" +"I2NP DatabaseSearchReplyMessage\n" +"response to a lookup,\n" +"these references are followed if they are closer (or the next closest) to" +" the lookup key.\n" +"The requesting router does not trust that the references are\n" +"closer to the key (i.e. they are verifiably correct.\n" +"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" +"within the desired key space region.\n" +"This design ensures that the query capture attack described in\n" +"Hashing it out in Public\n" +"is much more difficult." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:738 +msgid "DHT-Based Relay Selection" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:739 +#, python-format +msgid "(Reference: Hashing it out in Public Section 3)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:743 +#, python-format +msgid "" +"This doesn't have much to do with floodfill, but see\n" +"the peer selection page\n" +"for a discussion of the vulnerabilities of peer selection for tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:749 +msgid "Information Leaks" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:750 +#, python-format +msgid "" +"(Reference: In Search of an Anonymous and Secure " +"Lookup Section 3)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:754 +#, python-format +msgid "" +"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 peer " +"selection and\n" +"tunnel building processes; only " +"previously-known peers\n" +"are used for tunnels.\n" +"Also, peer selection is unrelated to any notion of DHT key-closeness." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:765 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:773 +#, python-format +msgid "" +"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 f = 0.2 (20%% malicious nodes, as " +"specifed in the paper)\n" +"we expect that many of the Sybil threats we describe\n" +"(here,\n" +"here and\n" +"here)\n" +"become problematic for several reasons." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:787 +msgid "Moved to the netdb discussion page" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:791 +msgid "End-to-end encryption of additional netDb lookups and responses." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:795 +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 +#: i2p2www/pages/site/docs/transport/index.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 "" +"Peer profiling is the process of collecting data based on the " +"observed performance\n" +"of other routers or peers, and classifying those peers into groups.\n" +"Profiling does not use any claimed performance data published by " +"the peer itself\n" +"in the network database." +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 "" +"Choosing peers from the set of floodfill routers to use for network " +"database storage and queries,\n" +"which is discussed on the network database 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 "" +"Peer selection is the process of choosing which routers\n" +"on the network we want to relay our messages to go through (which peers " +"will we \n" +"ask to join our tunnels). To accomplish this, we keep track of how each\n" +"peer performs (the peer's \"profile\") and use that data to estimate how" +" \n" +"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" +"claimed bandwidth is untrusted and is only used to avoid those " +"peers\n" +"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" +"timing attacks\n" +"more difficult." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:50 +msgid "" +"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." +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" +"Peer Profiling and Selection in the I2P Anonymous " +"Network\n" +"presented at PET-CON 2009.1.\n" +"See below for notes on minor changes since the " +"paper was published." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:65 +msgid "Profiles" +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:66 +#, python-format +msgid "" +"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" +"can be found in the code." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:75 +msgid "" +"Profiles are fairly small, a few KB. To control memory usage, the profile" +" expiration time\n" +"lessens as the number of profiles grows.\n" +"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." +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" +"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" +"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" +"send or receive on a single tunnel through the peer in a minute. For " +"this estimate it just looks at\n" +"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" +"would agree to participate in over a given time period. For this " +"estimate it looks at \n" +"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" +"While the calculation is time-weighted so that recent activity counts " +"more than later activity,\n" +"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" +"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" +"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 "" +"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" +"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 "" +"A peer is considered \"high capacity\" if its capacity calculation meets " +"or \n" +"exceeds the median of all peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:138 +msgid "" +"A peer is considered \"fast\" if they are already \"high capacity\" and " +"their \n" +"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" +"ProfileOrganizer." +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" +"If there would be more, only the ones with the highest speed rating are " +"placed in the group." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:160 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:164 +msgid "" +"The standard group has no fixed limit, but is somewhat smaller than the " +"number of RouterInfos\n" +"stored in the local network database.\n" +"On an active router in today's network, there may be about 1000 " +"RouterInfos and 500 peer profiles\n" +"(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 "" +"The groups tend to be fairly stable, that is, there is not much \"churn\"" +" in the rankings\n" +"at each recalculation.\n" +"Peers in the fast and high capacity groups get more tunnels build through" +" them, which increases their speed and capacity ratings,\n" +"which reinforces their presence in the group." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:188 +msgid "The router selects peers from the above groups to build tunnels through." +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 "" +"Client tunnels are used for application traffic, such as for HTTP proxies" +" and web servers." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:198 +msgid "" +"To reduce the susceptibility to some attacks,\n" +"and increase performance,\n" +"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." +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 "" +"Exploratory tunnels are used for router administrative purposes, such as " +"network database traffic\n" +"and testing client tunnels.\n" +"Exploratory tunnels are also used to contact previously unconnected " +"routers, which is why\n" +"they are called \"exploratory\".\n" +"These tunnels are usually low-bandwidth." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:215 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:223 +msgid "" +"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" +"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 "" +"To prevent some simple attacks, and for performance, there are the " +"following restrictions:" +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 predecessor attack\n" +"(2008 update).\n" +"More information is on the tunnel " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:268 +msgid "Continue to analyze an tune speed and capacity calculations as necessary" +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:271 +msgid "" +"Implement a more aggressive ejection strategy if necessary to control " +"memory usage as the network grows" +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" +"Peer Profiling and Selection in the I2P Anonymous " +"Network,\n" +"please keep in mind the following minor changes in I2P since the paper's " +"publication:" +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 +#: i2p2www/pages/site/docs/transport/ssu.html:273 +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" +"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" +"anonymity set of users already running on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:34 +msgid "" +"Applications available already provide the full range of typical Internet" +" activities -\n" +"anonymous web browsing, web hosting, chat, file sharing, e-mail,\n" +"blogging and content syndication, newsgroups, as well as several other " +"applications under development." +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, I2P-Messenger." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:42 +msgid "" +"File sharing: I2PSnark, Robert, iMule, \n" +"I2Phex, PyBit, I2P-bt\n" +"and others." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:47 +msgid "" +"E-mail: susimail and I2P-Bote." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:48 +msgid "" +"Blog: using e.g. the pebble plugin or the distributed blogging software " +"Syndie." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:49 +msgid "" +"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS " +"cloud over I2P." +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 "" +"Unlike web sites hosted within content distribution networks like Freenet \n" +"or GNUnet, 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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:61 +msgid "" +"With all of these anonymity enabled applications, I2P takes on the role \n" +"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 streaming 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" +"of the network." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:78 +#, python-format +msgid "" +"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 website, \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 (I2PTunnel, \n" +"susimail, I2PSnark, I2P-" +"Bote, \n" +"I2Phex and others.).\n" +"Funding for I2P comes entirely from " +"donations,\n" +"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 "" +"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" +"torrents, etc." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:111 +msgid "" +"Another critical concept to understand is the \"tunnel\".\n" +"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" +"The decrypted information contains the IP of the next router, along with\n" +"the encrypted information to be forwarded.\n" +"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" +"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" +"\"outbound\" tunnels send messages away from the tunnel creator,\n" +"while \"inbound\" tunnels 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" +"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" +"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" +"To do this, the sender (\"Alice\") adds instructions to her encrypted " +"message.\n" +"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 "" +"A third critical concept to understand is I2P's \"network " +"database\" (or \"netDb\") \n" +"- a pair of algorithms used to share network metadata. The two types of " +"metadata \n" +"carried are \"routerInfo\" and \"leaseSets\" - 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" +"The full information contained in a lease:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:155 +msgid "Inbound gateway for a tunnel that allows reaching a specific destination." +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 "" +"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)." +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 "" +"To build up her own inbound and outbound tunnels, Alice does a lookup in " +"the netDb to collect routerInfo.\n" +"This way, she gathers lists of peers she can use as hops in her tunnels.\n" +"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." +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 "" +"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" +"streaming library.\n" +"Alice may also cut down on the response time by bundling her most \n" +"recent LeaseSet with the message so that Bob doesn't need to do a netDb " +"lookup \n" +"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 "" +"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 \"garlic \n" +"encryption\" 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" +"encrypted without giving out the public key to Bob's own router." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:219 +msgid "" +"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 streaming library to view I2P as " +"a streams \n" +"based network." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:229 +msgid "" +"Both inbound and outbound tunnels work along similar principles.\n" +"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" +"added, the message arrives in the clear at the tunnel endpoint." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:244 +msgid "" +"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" +"has its own serious anonymity implications." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:257 +msgid "" +"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" +"to organize the peers by their profiles." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:270 +msgid "" +"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" +"while they currently use fairly simple algorithms, alternatives exist." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:288 +msgid "" +"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" +"adversaries." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:302 +msgid "" +"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" +"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" +"more detailed discussion of the mechanics involved in tunnel operation, " +"management, \n" +"and peer selection can be found in the tunnel " +"spec." +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 the network database 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" +"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" +"drops too low." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:343 +#, python-format +msgid "" +"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 Kademlia " +"algorithm.\n" +"The 'lookup' queries currently function differently, to avoid an " +"important\n" +"security issue.\n" +"When a lookup is done, the floodfill router will not forward the lookup " +"to other peers,\n" +"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 "" +"A RouterInfo stores information on a specific I2P router and how " +"to contact it" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:358 +msgid "" +"A LeaseSet stores information on a specific destination (e.g. I2P " +"website, e-mail server...)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:360 +msgid "" +"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 pool.ntp.org round robin by" +" default)\n" +"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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:381 +msgid "Bootstrapping:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:382 +msgid "" +"Bootstrapping the netDb is quite simple. Once a router manages to receive" +" a single routerInfo of a reachable peer,\n" +"it can query that router for references to other routers in the network.\n" +"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." +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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:402 +msgid "" +"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" +"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" +"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 UDP-based one - " +"\"Secure \n" +"Semireliable UDP\", or \"SSU\"." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:418 +#, python-format +msgid "As described in the SSU spec:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:422 +msgid "" +"The goal of this protocol is to provide secure, authenticated, \n" +"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" +"network obstacles, like most NATs or firewalls." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:432 +#, python-format +msgid "" +"Following the introduction of SSU, after issues with congestion collapse" +" \n" +"appeared, a new NIO-based TCP transport called NTCP \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" +"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" +"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" +"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" +"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 NTCP \n" +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:459 +msgid "" +"A bare minimum set of cryptographic primitives are combined together to \n" +"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. Tunnel 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" +"(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 "" +"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" +"leaseSet, and forward it through the appropriate tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:490 +msgid "" +"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 nontrivial \n" +"delays 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" +"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 "" +"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" +"the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:543 +msgid "" +"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" +"to the full expensive ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:553 +msgid "" +"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" +"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 "" +"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." +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 "" +"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" +"(due to the usage of NAT), \n" +"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" +"network employing such an algorithm." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:586 +msgid "" +"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" +"the published introducer." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:599 +msgid "" +"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" +"2.0." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:621 +msgid "" +"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" +"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 "" +"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" +"or, most likely, to a remote client destination." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:651 +msgid "" +"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" +"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 "" +"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" +"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 Network Comparisons Page." +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" +"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" +"better performance." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:707 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:721 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:731 +msgid "" +"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" +"offer this topology until 2.0." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:737 +msgid "" +"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" +"architecture will be able to exploit scarce resources more effectively." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:751 +msgid "" +"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" +"to Freenet's heuristic distributed data storage algorithms." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:770 +msgid "" +"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" +"(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" +"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" +"team makes more information available." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:797 +msgid "" +"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 streaming" +" library \n" +"as an implementation of an anonymous and secure TCP layer on top of it. " +"Beyond \n" +"that, I2PTunnel exposes a generic TCP " +"proxying \n" +"system for either getting into or out of the I2P network, plus a variety " +"of \n" +"network applications provide further functionality for end users." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:809 +msgid "" +"The I2P streaming library can be viewed as a generic streaming interface " +"(mirroring TCP sockets),\n" +"and the implementation supports a sliding " +"window protocol\n" +"with several optimizations, to take into account the high delay over I2P." +"\n" +"Individual streams may adjust the maximum packet size and \n" +"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" +"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" +"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" +"deliver the full response to the browser immediately." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:832 +msgid "" +"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" +"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 Naming and " +"Addressbook 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 "" +"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" +"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" +"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" +"attacks as well as hostile certificate authority attacks." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:880 +msgid "" +"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" +"of answers may be reachable." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:890 +msgid "" +"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" +"they prefer." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:899 +msgid "" +"The old Syndie bundled with I2P has been replaced by the new Syndie which" +"\n" +"is distributed separately. For more information see the Syndie\n" +"pages." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:905 +msgid "" +"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" +"it." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:920 +msgid "" +"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" +"for reasons previously mentioned." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:934 +msgid "" +"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" +"be sufficient for some users." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:950 +msgid "" +"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 I2Pmail's \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" +"proxies to access the \"server\" instances pointing at an NNTP server." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:967 +msgid "" +"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 streaming lib connection to query them " +"for \n" +"blocks." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:976 +msgid "" +"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" +"be used for identifying peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:984 +msgid "" +"I2PSnark developed: jrandom, et al, ported from mjw's Snark client" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:990 +msgid "" +"Bundled with the I2P install, I2PSnark offers a simple anonymous " +"BitTorrent \n" +"client with multitorrent capabilities, exposing all of the functionality " +"through \n" +"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" +"It is hosted on http://%(bob)s/Robert.html " +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1007 +#, python-format +msgid "" +"PyBit is a Bittorrent client written in Python.\n" +"It is hosted on http://%(pebcache)s/" +" " +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1015 +msgid "" +"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" +"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 "" +"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" +"%(postman)s." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1055 +msgid "" +"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" +"Instead, it uses a Kademlia Distributed Hash Table to store mails.\n" +"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.
\n" +"Furthermore, I2P-Bote offers a remailer function on top of I2P, for " +"increased high-latency anonymity." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1065 +msgid "" +"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." +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" +"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" +"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" +"answering that question by exploring how I2P operates under various " +"attacks\n" +"so that you may decide whether it meets your needs." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:26 +msgid "" +"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" +"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 other \n" +"systems, but a few key points should be kept in" +" mind when \n" +"reviewing related literature:" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:39 +msgid "" +"I2P is a free route mixnet - 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" +"inbound tunnel)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:45 +msgid "" +"I2P has no official entry and exit points - all peers fully " +"participate in the \n" +"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 "" +"I2P is fully distributed - 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" +"anonymity)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:60 +#, python-format +msgid "" +"We have documented plans to implement nontrivial delays\n" +"and batching strategies \n" +"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" +"traffic for higher latency communication (e.g. email).\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:71 +msgid "" +"In theory, routers along the message path may inject an \n" +"arbitrary number of hops before forwarding the message to the next peer, " +"though\n" +"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" +"[Onion Routing],\n" +"[Freenet], and\n" +"[Tor].\n" +"Our design benefits substantially from the research published around that" +" time.\n" +"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" +"anonymity " +"literature (largely \n" +"Traffic Analysis: " +"Protocols, Attacks, Design \n" +"Issues and Open Problems), the following briefly describes a wide " +"variety \n" +"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" +"network comparisons and\n" +"\"garlic\" terminology pages may also " +"be helpful\n" +"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 "" +"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" +"message)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:157 +msgid "" +"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" +"defeat this attack exist, but may be prohibitively expensive (see: \n" +"Tarzan'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" +"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" +"setting low bandwidth limits, and using unpublished or encrypted " +"leasesets for eepsites.\n" +"Other countermeasures, such as nontrivial delays and restricted routes, " +"are\n" +"not currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:174 +#, python-format +msgid "" +"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" +"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" +"peer selection page." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:187 +msgid "" +"I2P's messages are unidirectional and do not necessarily imply that a " +"reply\n" +"will be sent. However, applications on top of I2P will most likely have\n" +"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" +"slow to have passed the message along." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:197 +msgid "" +"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)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:207 +#, python-format +msgid "" +"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 nontrivial " +"delays or \n" +"batching strategies), include protocol " +"scrubbing, or\n" +"other advanced tunnel routing techniques,\n" +"but these are unimplemented in I2P." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:216 +#, python-format +msgid "" +"References: Low-Resource Routing Attacks Against " +"Anonymous Systems" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:222 +msgid "" +"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" +"the network. Over time, as node churn occurs the attacker will gain \n" +"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" +"scenarios." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:232 +#, python-format +msgid "" +"In summary, if an attacker is at both ends of your tunnel at the same " +"time,\n" +"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 similar disclaimer." +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 "strict ordering of peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:247 +#, python-format +msgid "" +"peer profiling and selection from a " +"small group that changes slowly" +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" +"multihoming" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:263 +msgid "" +"Even in total, these defenses are not a complete solution.\n" +"Also, we have made some design choices that may significantly increase " +"our vulnerability:" +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 "" +"We use tunnel pools comprised of several tunnels, and traffic can shift " +"from tunnel to tunnel." +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" +"While 3-hop tunnels are recommended for full protection, several " +"applications and\n" +"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" +"for peers who can afford significant delays (per nontrivial\n" +"delays and batching strategies). " +"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" +"as an adversary can't \"ping\" them to mount the attack.

" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:293 +#, python-format +msgid "Reference: One Cell Enough" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:300 +msgid "" +"There are a whole slew of denial of service attacks available against " +"I2P,\n" +"each with different costs and consequences:" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:305 +msgid "" +"Greedy user attack: 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" +"other networks,\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" +"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." +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 "" +"Starvation attack: 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" +"should be necessary. \n" +"Alternatively, the nodes may provide intermittent service by periodically" +"\n" +"dropping selected traffic, or refusing connections to certain peers.\n" +"This behavior may be indistinguishable from that of a heavily-loaded or " +"failing node.\n" +"I2P addresses these issues by maintaining profiles on the \n" +"peers, attempting to identify underperforming ones and simply ignoring \n" +"them, or using them rarely.\n" +"We have significantly enhanced the\n" +"ability to recognize and avoid troublesome peers; however there are still" +"\n" +"significant efforts required in this area." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:344 +#, python-format +msgid "" +"Flooding attack: A hostile user may attempt to flood the network,\n" +"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 advanced tunnel\n" +"operation is implemented)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:360 +msgid "" +"CPU load attack: There are currently some methods for people to \n" +"remotely request that a peer perform some cryptographically expensive \n" +"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" +"engineering practices and potentially requiring nontrivial certificates \n" +"(e.g. HashCash) to be attached to these expensive requests should " +"mitigate\n" +"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 "" +"Floodfill DOS attack: A hostile user may attempt to harm the " +"network by\n" +"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" +"peer profiling are implemented,\n" +"however there is much more to do.\n" +"For more information see the\n" +"network database page." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:386 +#, python-format +msgid "" +"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 unique hop ids 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" +"as the links are encrypted and messages signed." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:402 +msgid "" +"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" +"the moment)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:418 +#, python-format +msgid "" +"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 harvesting" +" 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 nontrivial " +"delays and \n" +"batching strategies, 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" +"which other tunnels or messages have those delays)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:434 +#, python-format +msgid "" +"Also discussed on the network database " +"page (bootstrap attack)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:440 +msgid "" +"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" +"target is located." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:450 +#, python-format +msgid "" +"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 peer selection algorithm which " +"breaks them\n" +"into tiers. Second, with strict " +"ordering 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 permuted " +"tunnel length\n" +"(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" +"restricted routes " +"(unimplemented), only the peer with\n" +"a restricted connection to the target will ever contact the target, while" +" \n" +"attackers will merely run into that gateway." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:467 +#, python-format +msgid "" +"The current tunnel build method\n" +"was specifically designed to combat the predecessor attack.\n" +"See also the intersection attack." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:473 +#, python-format +msgid "" +"References: %(pdf2008)s\n" +"which is an update to the 2004 predecessor attack paper\n" +"%(pdf2004)s." +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 "" +"Network growth will make it more difficult to obtain a given proportion " +"of the network" +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 "" +"\"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:508 +#, python-format +msgid "" +"In future implementations,\n" +"basic and \n" +"comprehensive 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" +"they can be reached (as well as their public keys, etc)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:517 +msgid "" +"In the future, routers could use GeoIP to identify if they are in a " +"particular\n" +"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" +"As discussed above, I2P is not specifically " +"designed\n" +"to hide that a computer is running I2P. However, several design decisions" +" made\n" +"in the design of the\n" +"transport layer and protocols\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 "" +"DH key exchange with no protocol bytes or other unencrypted constant " +"fields" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:545 +#, python-format +msgid "" +"Simultaneous use of both\n" +"TCP and\n" +"UDP transports.\n" +"UDP may be much harder for some Deep Packet Inspection (DPI) equipment to" +" track." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:553 +msgid "" +"In the near future, we plan to directly address traffic analysis issues " +"by further obfuscation of I2P transport protocols, possibly including:" +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 "" +"Development of additional transport methods that mimic SSL or other " +"common protocols" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:566 +msgid "" +"Review of padding strategies at higher layers to see how they affect " +"packet sizes at the transport layer" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:569 +msgid "" +"Review of methods implemented by various state-level firewalls to block " +"Tor" +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: Breaking and Improving Protocol " +"Obfuscation" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:584 +#, python-format +msgid "" +"Sybil describes a category of attacks where the adversary creates " +"arbitrarily\n" +"large numbers of colluding nodes and uses the increased numbers to help \n" +"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' - Tarzan\n" +"(among others) uses the fact that IP addresses are limited, while \n" +"IIP used \n" +"HashCash to 'charge' for " +"creating a new\n" +"identity. We currently have not implemented any particular technique to " +"address\n" +"Sybil, but do include placeholder certificates in the router's and \n" +"destination's data structures which can contain a HashCash certificate of" +" \n" +"appropriate value when necessary (or some other certificate proving " +"scarcity)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:602 +msgid "Requiring HashCash Certificates in various places has two major problems:" +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" +"selecting HashCash values that are meaningful proofs of work on high-end " +"machines,\n" +"while still being feasible on low-end machines such as mobile devices." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:616 +msgid "" +"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" +"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 network database page\n" +"for more Sybil discussion." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:630 +#, python-format +msgid "" +"(Reference: In Search of an Anonymouns and Secure " +"Lookup Section 5.2)" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:634 +#, python-format +msgid "" +"By refusing to accept or forward tunnel build requests, except to a " +"colluding peer, a router could ensure\n" +"that a tunnel is formed wholly from its set of colluding routers.\n" +"The chances of success are enhanced if there is a large number of " +"colluding routers,\n" +"i.e. a Sybil attack.\n" +"This is somewhat mitigated by our\n" +"peer profiling methods used to monitor " +"the performance\n" +"of peers.\n" +"However, this is a powerful attack as the number of routers approaches\n" +"f = 0.2, or 20%% malicious nodes, as specifed in the paper.\n" +"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" +"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" +"we assume the security of the industry-standard cryptographic primitives " +"used in I2P, as documented\n" +"on the low-level cryptography page. \n" +"Security features include the immediate detection of \n" +"altered messages along the path, the inability to decrypt messages not " +"addressed to you,\n" +"and defense against man-in-the-middle attacks.\n" +"The key sizes chosen in 2003 were quite conservative at the time, and are" +" still longer than\n" +"those used in other anonymity " +"networks.\n" +"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" +"Of course, all cryptographic algorithms eventually become obsolete due to" +"\n" +"the advent of faster processors, cryptographic research, and advancements" +" in\n" +"methods such as rainbow tables, clusters of video game hardware, etc.\n" +"Unfortunately, I2P was not designed with easy mechanisms to lengthen keys" +" or change\n" +"shared secret values while maintaining backward compatibility." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:672 +#, python-format +msgid "" +"Upgrading the various data structures and protocols to support longer " +"keys\n" +"will have to be tackled eventually, and this will be a\n" +"major undertaking, just as it will be " +"for \n" +"others.\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" +"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" +"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" +"above, floodfill routers are uniquely positioned\n" +"to learn about network participants, due to their role\n" +"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" +"of the total keyspace, and the keyspace rotates daily, as explained \n" +"on the network database page.\n" +"The specific mechanisms by which routers communicate with floodfills have" +" been\n" +"carefully designed.\n" +"However, these threats should be studied further.\n" +"The specific potential threats and corresponding defenses are a topic for" +" future research." +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" +"network database page." +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 "" +"There are a few centralized or limited resources (some inside I2P, some " +"not)\n" +"that could be attacked or used as a vector for attacks.\n" +"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" +"most of which are now distributed.\n" +"Attacks on externally-reachable resources mainly affect the ability of " +"new users to find us,\n" +"not the operation of the network itself." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:729 +#, python-format +msgid "" +"The website is mirrored and uses DNS round-robin" +" for external public access." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:732 +#, python-format +msgid "" +"Routers now support multiple external reseed " +"locations,\n" +"however more reseed hosts may be needed, and the handling of unreliable " +"or malicious\n" +"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 "" +"Routers now better handle multiple unreliable " +"floodfill peers.\n" +"Malicious floodfills needs more study." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:748 +#, python-format +msgid "" +"The code is now stored in a distributed source " +"control system." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:751 +msgid "" +"Routers rely on a single news host, but there is a hardcoded backup URL " +"pointing to a different host.\n" +"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 "" +"Naming system services, 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" +"However, all naming services require some measure of trust, see\n" +"the naming page for details." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:762 +msgid "" +"We remain reliant on the DNS service for i2p2.de, losing this would cause" +" substantial\n" +"disruption in our ability to attract new users,\n" +"and would shrink the network (in the short-to-medium term), just as the " +"loss of i2p.net did." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:772 +msgid "" +"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." +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 "" +"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 distributed source control " +"system\n" +"are cryptographically signed, and the release packagers use a trust-list " +"system\n" +"to restrict modifications to those previously approved." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:793 +#, python-format +msgid "" +"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" +"a distributed source control system,\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 "" +"We also maintain relationships with various organizations that offer " +"legal advice,\n" +"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 "" +"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" +"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" +"security through " +"obscurity." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:821 +msgid "" +"In addition, the code is being \n" +"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" +"enough to identify shortcomings and bugs." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:831 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:837 +#, python-format +msgid "" +"I2P is still a small network with a small development community and " +"almost no\n" +"interest from academic or research groups.\n" +"Therefore we lack the analysis that\n" +"other anonymity networks\n" +"may have received. We continue to recruit people to\n" +"get involved 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:857 +msgid "" +"To the extent that active peers actually do show up in the actual " +"blocklist,\n" +"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 "" +"Blocklists are only a part (perhaps a small part) of an array of defenses" +"\n" +"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" +"central resource attack.\n" +"Automatic subscription to a list gives the list provider the power to " +"shut\n" +"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" +"Should a particular IP range implement serious attacks on the I2P " +"network,\n" +"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 "" +"This page contains an overview of I2P tunnel terminology and operation, " +"with\n" +"links to more technical pages, details, and specifications." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:12 +#, python-format +msgid "" +"As briefly explained in the introduction, I2P " +"builds virtual \"tunnels\" -\n" +"temporary and unidirectional paths through a sequence of routers. These" +" \n" +"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" +"her existing outbound tunnels with instructions for that tunnel's " +"endpoint\n" +"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 +msgid "Alice connecting through her outbound tunnel to Bob via his inbound tunnel" +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 "" +"Tunnel gateway - the first router in a tunnel. For inbound " +"tunnels,\n" +"this is the one mentioned in the LeaseSet published in the\n" +"network database. 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 "" +"Tunnel endpoint - the last router in a tunnel. (e.g. both C and F" +" above)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:45 +msgid "" +"Tunnel participant - all routers in a tunnel except for the " +"gateway or\n" +"endpoint (e.g. both B and E above)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:49 +msgid "" +"n-Hop tunnel - a tunnel with a specific number of inter-router " +"jumps, e.g.:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:51 +msgid "0-hop tunnel - a tunnel where the gateway is also the endpoint" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:52 +msgid "" +"1-hop tunnel - a tunnel where the gateway talks directly to the " +"endpoint" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:53 +msgid "" +"2-(or more)-hop tunnel - a tunnel where there is at least one " +"intermediate\n" +"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 "" +"Tunnel ID - A 4 " +"byte integer\n" +"different for each hop in a tunnel, and unique among all tunnels on a " +"router.\n" +"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 "" +"Routers performing the three roles (gateway, participant, endpoint) are " +"given\n" +"different pieces of data in the initial\n" +"Tunnel Build Message\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 "" +"tunnel encryption key - an AES private key for " +"encrypting\n" +"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 "" +"tunnel IV key - an AES private key for " +"double-encrypting\n" +"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 "" +"reply key - an AES public key for " +"encrypting\n" +"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 "" +"reply IV - the IV for encrypting the reply to the tunnel build " +"request" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:90 +msgid "tunnel id - 4 byte integer (inbound gateways only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:91 +msgid "" +"next hop - what router is the next one in the path (unless this is" +" a 0-hop tunnel, and the gateway is also the endpoint)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:92 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:112 +msgid "next tunnel id - 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 "tunnel id - 4 byte integer" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:111 +msgid "next hop - 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 "" +"tunnel encryption key - an AES private key for " +"encrypting\n" +"messages and instructions to the the endpoint (itself)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:121 +#, python-format +msgid "" +"tunnel IV key - an AES private key for " +"double-encrypting\n" +"the IV to the endpoint (itself)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:125 +#, python-format +msgid "" +"reply key - an AES public key for " +"encrypting\n" +"the reply to the tunnel build request (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:129 +msgid "" +"reply IV - 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 "tunnel id - 4 byte integer (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:131 +msgid "" +"reply router - the inbound gateway of the tunnel to send the reply" +" through (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:132 +msgid "" +"reply tunnel id - 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" +"tunnel creation specification." +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 "" +"Several tunnels for a particular purpose may be grouped into a \"tunnel " +"pool\",\n" +"as described in the\n" +"tunnel specification.\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 "" +"As mentioned above, each client requests that their router provide " +"tunnels to\n" +"include at least a certain number of hops.\n" +"The decision as to how many routers\n" +"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" +"pierce someone's anonymity.\n" +"Tunnel lengths are specified by clients via\n" +"I2CP options.\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" +"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)." +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" +"deniability and basic anonymity, as long as they are not up against an " +"internal\n" +"adversary (as described on threat model)." +" 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" +"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 "" +"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" +"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 some attacks,\n" +"3 or more hops are recommended for the highest level of protection.\n" +"Recent studies\n" +"also conclude that more than 3 hops does not provide additional " +"protection." +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" +"I2CP options.\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" +"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" +"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" +"capacity rating in the peer " +"profile." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:231 +#, python-format +msgid "" +"Tunnel creation is handled by garlic " +"routing\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" +"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" +"tunnel creation specification." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:245 +#, python-format +msgid "" +"Multi-layer encryption is handled by garlic" +" encryption\n" +"of tunnel messages.\n" +"Details are in the\n" +"tunnel specification.\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" +"options specifying the pooling, mixing, and chaff generation settings may" +" be implemented." +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 "" +"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" +"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" +"Client SDK.\n" +"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" +"router itself and the router-side of I2CP." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:26 +#, python-format +msgid "" +"While implementing the client side of I2CP in a non-Java language is " +"certainly feasible,\n" +"a non-Java client would also have to implement the\n" +"streaming library for TCP-style " +"connections.\n" +"Together, implementing I2CP and the streaming library would be a sizable " +"task." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:33 +#, python-format +msgid "" +"Applications can take advantage of the base I2CP plus the \n" +"streaming and datagram libraries\n" +"by using the Simple Anonymous Messaging or BOB protocols,\n" +"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" +"Alternatively, Java clients may access those libraries in " +"ministreaming.jar and streaming.jar.\n" +"So there are several options for both Java and non-Java applications." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:45 +#, python-format +msgid "" +"Client-side end-to-end encryption (encrypting the data over the I2CP " +"connection)\n" +"was disabled in I2P release 0.6,\n" +"leaving in place the ElGamal/AES end-to-end " +"encryption\n" +"which is implemented in the router.\n" +"The only cryptography that client libraries must still implement is\n" +"DSA public/private key signing\n" +"for LeaseSets and\n" +"Session Configurations, and" +" management of those keys." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:58 +msgid "" +"In a standard I2P installation, port 7654 is used by external java " +"clients to communicate\n" +"with the local router via I2CP.\n" +"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 " +"i2cp.tcp.bindAllInterfaces=true and restart.\n" +"Clients in the same JVM as the router pass messages directly to the " +"router\n" +"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 I2CP Specification page." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:73 +msgid "I2CP Initialization" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:74 +#, python-format +msgid "" +"When a client connects to the router, it first sends a single protocol " +"version byte (0x2A).\n" +"Then it sends a GetDate Message and " +"waits for the SetDate Message " +"response.\n" +"Next, it sends a CreateSession " +"Message containing the session configuration.\n" +"It next awaits a RequestLeaseSet" +" Message 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." +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" +"a SessionConfig contained " +"in a CreateSession Message or " +"a ReconfigureSession " +"Message." +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" +"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." +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" +"The router will limit the total length of the tunnel to 0 to 7 inclusive." +"\n" +"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" +"The router will limit the total length of the tunnel to 0 to 7 inclusive." +"\n" +"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" +"use the first few characters of the Base64 hash of the destination by " +"default." +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" +"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" +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 "" +"Comma-separated list of Base 64 Hashes of peers to build tunnels through;" +" for debugging only" +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" +"If the client is running in the same JVM as a router, this option is not " +"required." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:337 +msgid "" +"Number of ElGamal/AES Session Tags to send at a time.\n" +"For clients with relatively low bandwidth per-client-pair (IRC, some UDP " +"apps), this may be set lower." +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" +"for any reply to be possible. \"true\" is also recommended for multihomed" +" servers\n" +"with long connection times." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:368 +msgid "" +"Setting to \"false\" may save significant outbound bandwidth, especially " +"if\n" +"the client is configured with a large number of inbound tunnels (Leases)." +"\n" +"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 "" +"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" +"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" +"in the \"unknown options\" properties of the inbound tunnel pool's " +"settings." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:408 +msgid "" +"Any other options prefixed with \"outbound.\" are stored\n" +"in the \"unknown options\" properties of the outbound tunnel pool's " +"settings." +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 "" +"Note: As of release 0.7.7, option names and values must use UTF-8 " +"encoding.\n" +"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" +"and will be interpreted if passed to the I2PSession via the " +"I2PClient.createSession() call.\n" +"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" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:463 +msgid "" +"Router I2CP port.\n" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:475 +msgid "" +"Connect to the router using SSL.\n" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +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 "" +"Note: All arguments, including numbers, are strings. True/false values " +"are case-insensitive strings.\n" +"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 "" +"The end-to-end messages handled by I2CP (i.e. the data sent by the client" +" in a\n" +"SendMessageMessage\n" +"and received by the client in a\n" +"MessagePayloadMessage)\n" +"are gzipped with a standard 10-byte gzip\n" +"header beginning with 0x1F 0x8B 0x08 as\n" +"specified by RFC " +"1952.\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" +"to work reliably in the presence of multiple channels." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:599 +msgid "" +"The gzip function cannot be completely turned off, however setting " +"i2cp.gzip=false\n" +"turns the gzip effort setting to 0, which may save a little CPU." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:605 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 +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 +msgid "I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:640 +msgid "" +"Data integrity is verified with the standard gzip CRC-32 as\n" +"specified by RFC 1952." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:648 +msgid "Implement I2CP and the streaming library in another programming language." +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 "" +"Some improvements may be able to use messages previously defined but not " +"implemented.\n" +"For reference, here is the\n" +"I2CP Protocol Specification Version 0.9\n" +"(PDF) dated August 28, 2003.\n" +"That document also references the\n" +"Common Data Structures Specification Version 0.9." +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" +"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" +"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 "" +"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" +"through multiple hops to the ultimate destination.\n" +"Priority is only used locally at the origin, i.e. when queuing for " +"outbound delivery." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:23 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:35 +msgid "Message Format" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/spec/streaming.html:35 +msgid "Field" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:39 +msgid "Unique ID" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:40 +msgid "Expiration" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:41 +#: i2p2www/pages/site/docs/protocol/i2np.html:98 +msgid "Payload Length" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:42 +msgid "Checksum" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:43 +msgid "Payload" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#, python-format +msgid "" +"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" +"the tunnel implementation page.\n" +"The maximum number of fragments is 64, and the message may not be " +"perfectly aligned,\n" +"So the message must nominally fit in 63 fragments." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:54 +msgid "" +"The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " +"delivery mode);\n" +"the maximum size of a follow-on fragment is 996 bytes.\n" +"Therefore the maximum size is approximately 956 + (62 * 996) = 62708 " +"bytes, or 61.2 KB." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:60 +msgid "" +"In addition, the transports may have additional restrictions.\n" +"NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " +"increased in a future release.\n" +"The SSU limit is approximately 32 KB." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:66 +msgid "" +"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" +"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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:74 +msgid "Message Types" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:75 +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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:86 +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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:97 +msgid "Type" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:99 +msgid "Priority" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:100 +msgid "Comments" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:108 +msgid "" +"400 normally; 100 if from HarvesterJob and sent directly;\n" +"400 for a router lookup" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:119 +msgid "" +"Size is 65 + 32*(number of hashes) where typically, the hashes for\n" +"three floodfill routers are returned." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:128 +msgid "Varies" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:130 +msgid "" +"Usually 100 (why?)\n" +"Size is 898 bytes for a typical 2-lease leaseSet.\n" +"RouterInfo structures are compressed, and size varies; however\n" +"there is a continuing effort to reduce the amount of data published in a " +"RouterInfo\n" +"as we approach release 1.0." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:152 +msgid "" +"Used for message replies, and for testing tunnels - generally wrapped in " +"a GarlicMessage" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:160 +msgid "" +"Generally wrapped in a DataMessage -\n" +"but when unwrapped, given a priority of 100 by the forwarding router" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:171 +msgid "Usually 500 (why?)" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:187 +msgid "" +"The most common message. Priority for tunnel participants, outbound " +"endpoints, and inbound gateways was\n" +"reduced to 200 as of release 0.6.1.33.\n" +"Outbound gateway messages (i.e. those originated locally) remains at 400." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:207 +msgid "Shorter TunnelBuildMessage as of 0.7.12" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:215 +msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#, python-format +msgid "Others listed in 2003 Spec" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:224 +msgid "Obsolete, Unused" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:228 +msgid "Full Protocol Specification" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#, python-format +msgid "" +"On the I2NP Specification page.\n" +"See also the\n" +"Common Data Structure Specification " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:236 +msgid "" +"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" +"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 Index to Technical Documentation." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:12 +msgid "" +"Each of the layers in the stack provides extra capabilities.\n" +"The capabilities are listed below, starting at the bottom of the protocol" +" stack." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:18 +msgid "Internet Layer:" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:20 +msgid "" +"IP: Internet Protocol, allow addressing hosts on the regular internet and" +" routing packets across the internet using best-effort delivery." +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 "" +"I2P Transport Layer: 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." +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 "I2P Tunnel Layer: provide full encrypted tunnel connections." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:42 +#, python-format +msgid "" +"Tunnel messages: 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" +"so it will be forwarded." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:48 +#, python-format +msgid "" +"I2NP messages: I2P Network Protocol messages are" +" used to pass messages through multiple routers. These I2NP messages are " +"combined in tunnel messages." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:53 +msgid "" +"I2P Garlic Layer: provide encrypted and anonymous end-to-end I2P " +"message delivery." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:55 +#, python-format +msgid "" +"I2NP messages: 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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:61 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:67 +msgid "" +"I2P Client Layer: allow any client to use I2P functionality, " +"without requiring the direct use of the router API." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:69 +#, python-format +msgid "" +"I2CP: I2P Client Protocol, allows secure and " +"asynchronous messaging over I2P by communicating messages over the I2CP " +"TCP socket." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:74 +msgid "" +"I2P End-to-end Transport Layer: allow TCP- or UDP-like " +"functionality on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:76 +#, python-format +msgid "" +"Streaming Library: an implementation of " +"TCP-like streams over I2P. This allows easier porting of existing " +"applications to I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:80 +#, python-format +msgid "" +"Datagram Library: an implementation of UDP-" +"like messages over I2P. This allows easier porting of existing " +"applications to I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:85 +msgid "" +"I2P Application Interface Layer: additional (optional) libraries " +"allowing easier implementations on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:93 +msgid "I2P Application Proxy Layer: proxy systems." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:95 +#, python-format +msgid "HTTP Client/Server, IRC Client, SOCKS, Streamr" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:99 +msgid "" +"Finally, what could be considered the 'I2P application layer', is " +"a large number of applications on top of I2P.\n" +"We can order this based on the I2P stack layer they use." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:104 +msgid "Streaming/datagram applications: i2psnark, Syndie, i2phex..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:105 +msgid "SAM/BOB applications: IMule, i2p-bt, i2prufus, Robert..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:106 +#, python-format +msgid "" +"Other I2P applications: Syndie, EepGet, plugins..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:107 +msgid "" +"Regular applications: 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" +"and the tables in the hostsdb.blockfile used by the Blockfile Naming Service." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:14 +msgid "" +"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" +"(such as added date, source, and comments) for each entry.\n" +"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" +"approximately 10x reduction in lookup times." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:24 +#, python-format +msgid "" +"A blockfile is simply on-disk storage of multiple sorted maps (key-value " +"pairs),\n" +"implemented as skiplists.\n" +"The blockfile format is adopted from the\n" +"Metanotion Blockfile Database.\n" +"First we will define the file format, then the use of that format by the " +"BlockfileNamingService." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:32 +msgid "Blockfile Format" +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:33 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:40 +msgid "" +"All 2-byte integer values are unsigned.\n" +"All 4-byte integer values (page numbers) are signed and negative values " +"are illegal." +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" +"Key/value structures are sorted by key within each span and across all " +"spans.\n" +"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" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:165 +msgid "Blockfile Naming Service Tables" +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:166 +msgid "" +"The tables created and used by the BlockfileNamingService are as follows." +"\n" +"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 "" +"\"%%__REVERSE__%%\" is the reverse lookup skiplist with " +"Integer/Properties key/value entries\n" +" (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 "" +"This document describes some data types common to all I2P protocols, like" +"\n" +"I2NP, I2CP,\n" +"SSU, 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 +#: i2p2www/pages/site/docs/spec/common-structures.html:233 +#: i2p2www/pages/site/docs/spec/common-structures.html:302 +#: i2p2www/pages/site/docs/spec/common-structures.html:353 +#: i2p2www/pages/site/docs/spec/common-structures.html:399 +#: i2p2www/pages/site/docs/spec/common-structures.html:448 +#: i2p2www/pages/site/docs/spec/common-structures.html:572 +#: i2p2www/pages/site/docs/spec/common-structures.html:628 +#: i2p2www/pages/site/docs/spec/streaming.html:35 +#: i2p2www/pages/site/get-involved/develop/applications.html:6 +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 "" +"The number of milliseconds since midnight on January 1, 1970 in the GMT " +"timezone.\n" +"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 Integer\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 "" +"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" +"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 Integer\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 "" +"This structure is used in ElGamal encryption, representing only the " +"exponent, not the primes, which are constant and defined in\n" +"the cryptography specification.\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 "" +"This structure is used in ElGamal decryption, representing only the " +"exponent, not the primes which are constant and defined in\n" +"the cryptography specification.\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 DSA 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 "" +"This structure is used for creating DSA signatures.\n" +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 DSA " +"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 Integer\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 "" +"1 byte Integer specifying certificate type," +" followed by a 2 Integer specifying the " +"size of the certificate payload, then that many bytes.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:207 +msgid "" +"For Router Identities, the " +"Certificate is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:211 +#, python-format +msgid "" +"For Garlic Cloves, the " +"Certificate is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:215 +#, python-format +msgid "" +"For Garlic Messages, the Certificate " +"is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:219 +msgid "" +"For Destinations, the Certificate may" +" be non-NULL,\n" +"however non-NULL certs are not widely used, and any checking is left to " +"the application-level." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:230 +msgid "A set of key/value mappings or properties\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:234 +msgid "A 2-byte size Integer followed by a series of String=String; pairs\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:263 +msgid "" +"The encoding isn't optimal - we either need the '=' and ';' characters, " +"or the string lengths, but not both" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:267 +msgid "" +"Some documentation says that the strings may not include '=' or ';' but " +"this encoding supports them" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:271 +msgid "" +"Strings are defined to be UTF-8 but in the current implementation, I2CP " +"uses UTF-8 but I2NP does not.\n" +"For example,\n" +"UTF-8 strings in a RouterInfo options mapping in a I2NP Database Store " +"Message will be corrupted." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:277 +msgid "" +"Mappings contained in I2NP messages (i.e. in a RouterAddress or " +"RouterInfo)\n" +"must be sorted by key so that the signature will be invariant." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:282 +msgid "" +"Key and value string length limits are 255 bytes (not characters) each, " +"plus the length byte. Length byte may be 0." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:286 +msgid "" +"Total length limit is 65535 bytes, plus the 2 byte size field, or 65537 " +"total." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:295 +msgid "Common structure specification" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:299 +msgid "Defines the way to uniquely identify a particular router\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:303 +msgid "" +"PublicKey followed by SigningPublicKey and then a Certificate\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:342 +msgid "" +"The certificate for a RouterIdentity is currently unused and is always " +"NULL." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:350 +msgid "" +"A Destination defines a particular endpoint to which messages can be " +"directed for secure delivery.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:354 +msgid "" +"PublicKey followed by a SigningPublicKey and then a Certificate\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:396 +msgid "" +"Defines the authorization for a particular tunnel to receive messages " +"targeting a Destination.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:400 +msgid "" +"SHA256 Hash of the\n" +"RouterIdentity of the gateway " +"router, then the TunnelId, and finally an " +"end Date\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:433 +msgid "Total size: 44 bytes" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:443 +msgid "" +"Contains all of the currently authorized Leases for a particular Destination, the PublicKey to which garlic messages can be " +"encrypted,\n" +"and then the public key that can " +"be used to revoke this particular version of the structure. The LeaseSet is one of the two structures " +"stored in the network database(\n" +"the other being RouterInfo), and is " +"keyed under the SHA256 of the contained Destination.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:449 +msgid "" +"Destination, followed by a PublicKey for encryption, then a SigningPublicKey which can be used to" +" revoke this version of the LeaseSet,\n" +"then a 1 byte Integer specifying how many " +"Lease structures are in the set, followed " +"by the actual Lease structures and finally " +"a Signature of the previous\n" +"bytes signed by the Destination's SigningPrivateKey" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:543 +msgid "" +"The public key of the destination was used for the old i2cp-to-i2cp " +"encryption\n" +"which was disabled in version 0.6, it is currently unused?" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:548 +#, python-format +msgid "" +"The encryption key is used for end-to-end ElGamal/AES+SessionTag encryption.\n" +"It is currently generated anew at every router startup, it is not " +"persistent." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:553 +msgid "" +"The signature may be verified using the signing public key of the " +"destination." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:557 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:569 +msgid "" +"This structure defines the means to contact a router through a transport " +"protocol.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:573 +msgid "" +"1 byte Integer defining the relative cost " +"of using the address, where 0 is free and 255 is expensive, followed by " +"the expiration Date after which the address " +"should not be used, or if null, the address never expires.\n" +"After that comes a String defining the " +"transport protocol this router address uses. Finally there is a Mapping containing all of the transport " +"specific options necessary to establish the connection, such as\n" +"IP address, port number, email address, URL, etc.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:610 +msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:614 +msgid "Expiration is currently unused, always null (all zeroes))" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:624 +msgid "" +"Defines all of the data that a router wants to publish for the network to" +" see. The RouterInfo is one of two " +"structures stored in the network database(the other being LeaseSet, and is keyed under the SHA256 of" +"\n" +"the contained RouterIdentity.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:629 +msgid "" +"RouterIdentity followed by the Date, when the entry was published\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:710 +msgid "" +"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" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:715 +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 +#, python-format +msgid "" +"Defined in the Tunnel Message " +"Specification.\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" +"It also gives an overview of the information contained in the various " +"files,\n" +"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" +"Java Properties\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 "" +"Does not use or recognize any escapes, including '\\', so lines may not " +"be continued" +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 "" +"'#' starts a comment in any position but ';' must be in column 1 to start" +" a comment" +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 "" +"As there are no escapes, keys may not contain '#', '=', or '\n" +"', or start with ';'" +msgstr "" + +#: i2p2www/pages/site/docs/spec/configuration.html:31 +msgid "" +"As there are no escapes, values may not contain '#' or '\n" +"', or start or end with '\r" +"' or whitespace" +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" +"DataHelper loadProps() and storeProps().\n" +"Note that the file format is significantly different than the\n" +"serialized format for I2P protocols specified in\n" +"Mapping." +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 the plugin specification." +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 "" +"Non-repliable datagrams have no 'from' address and are not authenticated." +"\n" +"They are also called \"raw\" datagrams.\n" +"Strictly speaking, they are not \"datagrams\" at all, they are just raw " +"data.\n" +"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 "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#, python-format +msgid "" +"The practical length is limited by lower layers of protocols - the\n" +"tunnel message spec\n" +"limits messages to about 61.2 KB and the\n" +"transports\n" +"currently limit messages to about 32 KB, although this may be raised in " +"the future." +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:41 +msgid "Repliable Datagrams" +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:42 +msgid "" +"Repliable datagrams contain a 'from' address and a signature. These add " +"427 bytes of overhead." +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:91 +#, python-format +msgid "" +"The practical length is limited by lower layers of protocols - the\n" +"transports\n" +"currently limit messages to about 32 KB, so the data length here is " +"limited to about\n" +"31.5 KB." +msgstr "" + +#: 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" +"as follows. Any data structures specified must be added to the options " +"area\n" +"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:3 +msgid "November 2011" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:7 +msgid "" +"I2P uses a simple, yet secure, system for automated software update.\n" +"The router console periodically pulls a news file from a configurable I2P" +" URL.\n" +"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 "" +"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" +"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 "" +"The router may optionally download, or download and install, the new " +"version\n" +"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 "" +"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" +"currently unused." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:41 +msgid "" +"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." +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 "" +"A 40-byte DSA " +"signature" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:57 +msgid "A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:62 +#, python-format +msgid "" +"The signature covers only the zip archive - not the prepended version.\n" +"The signature must match one of the DSA public keys " +"configured into the router,\n" +"which has a hardcoded default list of keys of the current project release" +" managers." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:68 +msgid "" +"For version comparison purposes, version fields contain [0-9]*, field " +"separators are\n" +"'-', '_', and '.', and all other characters are ignored." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:73 +msgid "" +"As of version 0.8.8, the version must also be specified as a zip file " +"comment in UTF-8,\n" +"without the trailing zeroes.\n" +"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" +"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 "" +"The router first downloads the header of the update file from one in a " +"configurable list of I2P URLs,\n" +"using the built-in HTTP client and proxy,\n" +"and checks that the version is newer.\n" +"This prevents the problem of update hosts that do not have the latest " +"file.\n" +"The router then downloads the full update file.\n" +"The router verifies that the update file version is newer before " +"installation.\n" +"It also, of course, verifies the signature, and\n" +"verifes that the zip file comment matches the header version, as " +"explained above." +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" +"Update files containing .pack files are traditionally named with a '.su2'" +" suffix.\n" +"Pack200 shrinks the update files by about 60%." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:105 +msgid "" +"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" +"be extracted from jbigi.jar." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:111 +msgid "" +"As of release 0.8.12, if the zip archive contains a file deletelist.txt, " +"the router will\n" +"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 "" +"All file names are relative to the installation directory; no absolute " +"file names allowed, no files starting with \"..\"" +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 "" + +#: i2p2www/pages/site/docs/spec/updates.html:128 +msgid "" +"When a new update file specification is defined, it should use a larger\n" +"DSA signature, and the signature should cover the version.\n" +"A file format version number might be a good idea too." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:133 +msgid "" +"The network will eventually grow too large for update over HTTP.\n" +"The built-in BitTorrent client, i2psnark, may be used as a distributed " +"update method.\n" +"This development effort was started in 2009 but is on hold until it is " +"required." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:138 +msgid "" +"The router update mechanism is part of the web router console.\n" +"There is currently no provision for updates of an embedded router lacking" +" the router console." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:2 +msgid "Transport Overview" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:6 +msgid "Transports in I2P" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:8 +msgid "" +"A \"transport\" in I2P is a method for direct, point-to-point " +"communication\n" +"between two routers.\n" +"Transports must provide confidentiality and integrity \n" +"against external adversaries while authenticating that the router " +"contacted \n" +"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 "NTCP, a Java New I/O (NIO) TCP transport" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:22 +#, python-format +msgid " SSU, 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" +"that the router publishes as its global contact information (the " +"RouterInfo)" +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 "" +"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" +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 "" +"Coordination of firewall status and local IP, and changes to either, " +"among the transports" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:54 +#: i2p2www/pages/site/docs/transport/ssu.html:30 +msgid "" +"Communication of firewall status and local IP, and changes to either, to " +"the router and the user interface" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:55 +msgid "" +"Determination of a consensus clock, which is used to periodically update " +"the router's clock, as a backup for NTP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:56 +msgid "" +"Maintenance of status for each peer, including whether it is connected, " +"whether it was recently connected,\n" +"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 "" +"Honoring the automated and manual lists of banned peers maintained by the" +" router,\n" +"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 "" +"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." +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 "" +"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 the SSU spec for details)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:82 +msgid "" +"A router is not firewalled or its NAT ports are open; it publishes both " +"NTCP and SSU addresses containing\n" +"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 "" +"The transport system delivers I2NP messages. The" +" transport selected for any message is\n" +"independent of the application-layer protocol (TCP or UDP)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:95 +msgid "" +"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" +"A transport may refuse to bid." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:101 +msgid "Whether a transport bids, and with what value, depend on numerous factors:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:105 +msgid "Configuration of transport preferences" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:106 +msgid "Whether the transport is already connected to the peer" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:107 +msgid "" +"The number of current connections compared to various connection limit " +"thresholds" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:108 +msgid "Whether recent connection attempts to the peer have failed" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:109 +msgid "" +"The size of the message, as different transports have different size " +"limits" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:110 +msgid "" +"Whether the peer can accept incoming connections for that transport, as " +"advertised in its RouterInfo" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:111 +msgid "Whether the connection would be indirect (requiring introducers) or direct" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:112 +msgid "The peer's transport preference, as advertised in its RouterInfo" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:115 +msgid "" +"In general, the bid values are selected so that two routers are only " +"connected by a single transport\n" +"at any one time. However, this is not a requirement." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:122 +msgid "New Transports and Future Work" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:124 +msgid "Additional transports may be developed, including:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:129 +msgid "A TLS/SSH look-alike transport" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:130 +msgid "" +"An \"indirect\" transport for routers that are not reachable by all other" +" routers (one form of \"restricted routes\")" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:133 +msgid "" +"Also, the existing transports will be enhanced to support multiple " +"addresses within a single transport,\n" +"including IPV6 addresses. Currently, a transport may only advertise a " +"single IPV4 address." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:138 +msgid "" +"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" +"routers that are behind restrictive state firewalls (restricted routes)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:145 +msgid "" +"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" +"that assumption is difficult to verify." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:152 +#, python-format +msgid "" +"Analyze Breaking and Improving Protocol " +"Obfuscation\n" +"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 "" +"NTCP is one of two transports currently " +"implemented in I2P.\n" +"The other is SSU.\n" +"NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n" +"Java NIO (new I/O) does not suffer from the 1 thread per connection " +"issues of the old TCP transport." +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 "" +"The NTCP code within I2P is relatively lightweight (1/4 the size of the " +"SSU code)\n" +"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" +"the NTCP transport sends individual I2NP messages, with a simple " +"checksum.\n" +"The unencrypted message is encoded as follows:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:42 +msgid "" +"The data is then AES/256/CBC encrypted. The session key for the " +"encryption\n" +"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n" +"The establishment between two routers is implemented in the " +"EstablishState class\n" +"and detailed below.\n" +"The IV for AES/256/CBC encryption is the last 16 bytes of the previous " +"encrypted message." +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 "" +"Total length: 16 bytes. The time sync message is sent at approximately 15" +" minute intervals.\n" +"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 ZLIB Specification." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:83 +msgid "Establishment Sequence" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:84 +msgid "" +"In the establish state, there is a 4-phase message sequence to exchange " +"DH keys and signatures.\n" +"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n" +"Then, DSA signatures of the critical data are exchanged to confirm the " +"connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:100 +msgid "Legend:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:101 +msgid "256 byte DH public keys" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:105 +msgid "timestamps (4 bytes, seconds since epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:106 +msgid "32 byte Session key" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:107 +msgid "2 byte size of Alice identity to follow" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:110 +msgid "DH Key Exchange" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:111 +#, 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" +"ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:117 +msgid "" +"The DH key exchange consists of a number of steps, displayed below.\n" +"The mapping between these steps and the messages sent between I2P " +"routers,\n" +"is marked in bold." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:123 +msgid "" +"Alice generates a secret 226-bit integer x. She then calculates X =" +" g^x mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:124 +msgid "Alice sends X to Bob (Message 1)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:125 +msgid "" +"Bob generates a secret 226-bit integer y. He then calculates Y = " +"g^y mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:126 +msgid "Bob sends Y to Alice.(Message 2)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:127 +msgid "Alice can now compute sessionKey = Y^x mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:128 +msgid "Bob can now compute sessionKey = X^y mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:129 +msgid "" +"Both Alice and Bob now have a shared key sessionKey = g^(x*y) mod " +"p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:131 +msgid "" +"The sessionKey is then used to exchange identities in Message 3 " +"and Message 4." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:135 +msgid "Message 1 (Session Request)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:136 +#, python-format +msgid "" +"This is the DH request. Alice already has Bob's\n" +"Router " +"Identity,\n" +"IP address, and port, as contained in his\n" +"Router Info,\n" +"which was published to the\n" +"network database.\n" +"Alice sends Bob:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:149 +#: i2p2www/pages/site/docs/transport/ntcp.html:192 +#: i2p2www/pages/site/docs/transport/ntcp.html:272 +#: i2p2www/pages/site/docs/transport/ntcp.html:355 +msgid "Size:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:151 +msgid "Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:169 +msgid "256 byte X from Diffie Hellman" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:171 +#, python-format +msgid "" +"SHA256 Hash(X) xored with SHA256 Hash(Bob's Router Identity)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:178 +#: i2p2www/pages/site/docs/transport/ntcp.html:259 +#: i2p2www/pages/site/docs/transport/ntcp.html:336 +msgid "Notes:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:179 +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 "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:185 +msgid "Message 2 (Session Created)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:186 +msgid "This is the DH reply. Bob sends Alice:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:194 +#: i2p2www/pages/site/docs/transport/ntcp.html:274 +#: i2p2www/pages/site/docs/transport/ntcp.html:357 +msgid "Unencrypted Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:216 +#: i2p2www/pages/site/docs/transport/ntcp.html:250 +msgid "256 byte Y from Diffie Hellman" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:218 +msgid "SHA256 Hash(X concatenated with Y)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:221 +#: i2p2www/pages/site/docs/transport/ntcp.html:306 +msgid "4 byte timestamp (seconds since the epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:223 +msgid "12 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:228 +#: i2p2www/pages/site/docs/transport/ntcp.html:318 +#: i2p2www/pages/site/docs/transport/ntcp.html:385 +msgid "Encrypted Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:252 +#, python-format +msgid "" +"48 bytes AES encrypted using the DH " +"session key and\n" +" the last 16 bytes of Y as the IV" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:260 +msgid "" +"Alice may drop the connection if the clock skew with Bob is too high as " +"calculated using tsB." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:265 +msgid "Message 3 (Session Confirm A)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:266 +msgid "" +"This contains Alice's router identity, and a DSA signature of the " +"critical data. Alice sends Bob:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:300 +msgid "2 byte size of Alice's router identity to follow (should always be 387)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:302 +#, python-format +msgid "" +"Alice's 387 byte Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:308 +msgid "15 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:310 +#, python-format +msgid "" +"the 40 byte DSA " +"signature of the following concatenated data:\n" +" X, Y, Bob's Router Identity, " +"tsA, tsB.\n" +" Alice signs it with the private signing " +"key associated with the public signing " +"key in her Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:328 +#, python-format +msgid "" +"448 bytes AES encrypted 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" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:338 +msgid "Bob verifies the signature, and on failure, drops the connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:341 +msgid "" +"Bob may drop the connection if the clock skew with Alice is too high as " +"calculated using tsA." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:348 +msgid "Message 4 (Session Confirm B)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:349 +msgid "This is a DSA signature of the critical data. Bob sends Alice:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:374 +#, python-format +msgid "" +"the 40 byte DSA " +"signature of the following concatenated data:\n" +" X, Y, Alice's Router Identity, " +"tsA, tsB.\n" +" Bob signs it with the private signing " +"key associated with the public signing " +"key in his Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:380 +msgid "8 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:395 +#, python-format +msgid "" +"48 bytes AES encrypted using the DH " +"session key and\n" +" the last 16 bytes of the encrypted contents of message " +"#2 as the IV" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:403 +msgid "Alice verifies the signature, and on failure, drops the connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:410 +msgid "After Establishment" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:411 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:420 +msgid "Check Connection Message" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:421 +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 "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:430 +msgid "32 bytes of uninterpreted, ignored data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:431 +msgid "1 byte size" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:432 +msgid "" +"that many bytes making up the local router's IP address (as reached by " +"the remote side)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:433 +msgid "2 byte port number that the local router was reached on" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:434 +msgid "" +"4 byte i2p network time as known by the remote side (seconds since the " +"epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:435 +msgid "uninterpreted padding data, up to byte 223" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:436 +msgid "" +"xor of the local router's identity hash and the SHA256 of bytes 32 " +"through bytes 223" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:440 +msgid "Discussion" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:441 +#, python-format +msgid "Now on the NTCP Discussion Page." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:447 +msgid "The maximum message size should be increased to approximately 32 KB." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:451 +msgid "" +"A set of fixed packet sizes may be appropriate to further hide the data \n" +"fragmentation to external adversaries, but the tunnel, garlic, and end to" +" \n" +"end padding should be sufficient for most needs until then.\n" +"However, there is currently no provision for padding beyond the next " +"16-byte boundary,\n" +"to create a limited number of message sizes." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:459 +msgid "" +"Memory utilization (including that of the kernel) for NTCP should be " +"compared to that for SSU." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:463 +msgid "" +"Can the establishment messages be randomly padded somehow, to frustrate\n" +"identification of I2P traffic based on initial packet sizes?" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:468 +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:3 +msgid "October 2012" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:6 +msgid "Secure Semireliable UDP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:7 +#, python-format +msgid "" +"SSU (also called \"UDP\" in much of the I2P documentation and user " +"interfaces)\n" +"is one of two transports currently " +"implemented in I2P.\n" +"The other is NTCP." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:13 +msgid "" +"SSU is the newer of the two transports,\n" +"introduced in I2P release 0.6.\n" +"In a standard I2P installation, the router uses both NTCP and SSU for " +"outbound connections." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:19 +msgid "SSU Services" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:21 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:27 +msgid "" +"Cooperative NAT/Firewall traversal using introducers" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:28 +msgid "" +"Local IP detection by inspection of incoming packets and peer testing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:29 +msgid "" +"Communication of firewall status and local IP, and changes to either to " +"NTCP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:34 +msgid "Protocol Details" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:36 +msgid "Congestion control" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:38 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:45 +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" +"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" +"Unlike for TCP, routers may give up on some messages after\n" +"a given period or number of retransmissions while continuing to transmit" +" \n" +"other messages." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:56 +msgid "" +"The congestion detection techniques vary from TCP as well, since each \n" +"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" +"to the sender, the receiver periodically includes a list of fully ACKed \n" +"message identifiers and may also include bitfields for partially received" +"\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:68 +msgid "" +"The current implementation does not pad the packets to\n" +"any particular size, but instead just places a single message fragment " +"into\n" +"a packet and sends it off (careful not to exceed the MTU)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:75 +msgid "" +"As of router version 0.8.12,\n" +"two MTU values are used: 620 and 1484.\n" +"The MTU value is adjusted based on the percentage of packets that are " +"retransmitted." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:81 +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" +"16 bytes, for encryption purposes.\n" +"This calculation is for IPv4 only. While the protocol as specified " +"supports IPv6\n" +"addresses, IPv6 is not yet implemented." +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 "" +"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" +"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 "" +"As of release 0.9.2, if a router's network interface MTU is less than " +"1484,\n" +"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 +msgid "Message Size Limits" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:120 +msgid "" +"While the maximum message size is nominally 32KB, the practical\n" +"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" +"which is sufficient for 64 * 534 = 33.3 KB when using the 608 MTU.\n" +"Due to overhead for bundled LeaseSets and session keys, the practical " +"limit\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:131 +msgid "Keys" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:133 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:140 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:149 +msgid "" +"Upon receiving a message, the receiver checks the \"from\" IP address and" +" port\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:160 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:171 +#, python-format +msgid "" +"For the DH key agreement,\n" +"RFC3526 2048bit\n" +"MODP group (#14) is used:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:181 +#, python-format +msgid "" +"These are the same p and g used for I2P's\n" +"ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:186 +msgid "Replay prevention" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:188 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:195 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:203 +msgid "Addressing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:205 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:217 +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 below." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:223 +#, python-format +msgid "" +"The addresses, options, and capabilities are published in the network database." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:228 +msgid "Direct Session Establishment" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:229 +msgid "" +"Direct session establishment is used when no third party is required for " +"NAT traversal.\n" +"The message sequence is as follows:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:234 +msgid "Connection establishment (direct)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:235 +msgid "Alice connects directly to Bob." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:249 +#, python-format +msgid "" +"After the SessionConfirmed message is received, Bob sends a small\n" +"DeliveryStatus message\n" +"as a confirmation.\n" +"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" +"(i.e. 0x0000000000000002)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:258 +#, python-format +msgid "" +"After the status message is sent, the peers exchange\n" +"DatabaseStore messages\n" +"containing their\n" +"RouterInfos." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:266 +msgid "" +"It does not appear that the type of the status message or its contents " +"matters.\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:275 +msgid "" +"Introduction keys are delivered through an external channel \n" +"(the network database, where they are identical to the router Hash for " +"now)\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:289 +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" +"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" +"introducers, asking each to introduce her to Charlie (offering the \n" +"introduction tag to identify Charlie). Bob then forwards a RelayIntro\n" +"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" +"and when Alice receives Bob's RelayResponse packet, she begins a new \n" +"full direction session establishment with the specified IP and port." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:316 +msgid "Connection establishment (indirect using an introducer)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:318 +msgid "Alice first connects to introducer Bob, who relays the request to Charlie." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:336 +msgid "" +"After the hole punch, the session is established between Alice and " +"Charlie as in a direct establishment." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:341 +msgid "Peer testing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:343 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:362 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:372 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:381 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:392 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:402 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:410 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:420 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:429 +msgid "Transmission window, ACKs and Retransmissions" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:430 +#, 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" +"the protocol specification page\n" +"for details." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:438 +#, python-format +msgid "" +"The details of windowing, ACK, and retransmission strategies are not " +"specified\n" +"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" +"an adjustable transmission window, RTT estimate and timeout, similar to " +"TCP\n" +"or streaming.\n" +"See the code for initial, min and max parameters." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:450 +msgid "Security" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:451 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:459 +msgid "" +"The details of validation are not specified\n" +"here. Implementers should add defenses where appropriate." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:465 +msgid "Peer capabilities" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:469 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:475 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:484 +msgid "" +"Analysis of current SSU performance, including assessment of window size " +"adjustment\n" +"and other parameters, and adjustment of the protocol implementation to " +"improve\n" +"performance, is a topic for future work." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:490 +msgid "" +"The current implementation repeatedly sends acknowledgments for the same " +"packets,\n" +"which unnecessarily increases overhead." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:495 +msgid "" +"The default small MTU value of 620 should be analyzed and possibly " +"increased.\n" +"The current MTU adjustment strategy should be evaluated.\n" +"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? " +"Probably not." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:501 +msgid "The protocol should be extended to exchange MTUs during the setup." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:505 +msgid "Rekeying is currently unimplemented and may never be." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:509 +msgid "" +"The potential use of the 'challenge' fields in RelayIntro and " +"RelayResponse,\n" +"and use of the padding field in SessionRequest and SessionCreated, is " +"undocumented." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:514 +msgid "" +"Instead of a single fragment per packet, a more efficient\n" +"strategy may be to bundle multiple message fragments into the same " +"packet,\n" +"so long as it doesn't exceed the MTU." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:520 +msgid "" +"A set of fixed packet sizes may be appropriate to further hide the data \n" +"fragmentation to external adversaries, but the tunnel, garlic, and end to" +" \n" +"end padding should be sufficient for most needs until then." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:526 +msgid "" +"Why are introduction keys the same as the router hash, should it be " +"changed, would there be any benefit?" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:530 +msgid "Capacities appear to be unused." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:534 +msgid "" +"Signed-on times in SessionCreated and SessionConfirmed appear to be " +"unused or unverified." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:539 +msgid "Implementation Diagram" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:540 +msgid "" +"This diagram\n" +"should accurately reflect the current implementation, however there may " +"be small differences." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:548 +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" +"gateway, 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" +"it reaches the tunnel endpoint. That endpoint 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" +"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" +"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" +"on the tunnel overview page." +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 "" +"After a tunnel is built, I2NP messages are " +"processed and passed through it.\n" +"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 "" +"Eventually, the tunnel messages arrive at the endpoint where the I2NP " +"messages\n" +"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 +msgid "Decrypt (using an encryption operation) to reveal plaintext tunnel message" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:134 +msgid "Reassemble Fragments, Forward as instructed to Inbound Gateway or Router" +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" +"I2NP messages into fixed-size\n" +"tunnel messages\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" +"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" +"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 "" +"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" +"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" +"tunnel message specification." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:205 +msgid "Gateway Encryption" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:207 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:213 +msgid "" +"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" +"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 "" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:253 +msgid "Endpoint Processing" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:255 +msgid "" +"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" +"layer and IV keys of each step in reverse order." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:265 +msgid "" +"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" +"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 "" +"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" +"replies received), and how they are maintained." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:288 +msgid "" +"Beyond the two types of tunnels - inbound and outbound - there are two " +"styles\n" +"of peer selection used for different tunnels - exploratory and client.\n" +"Exploratory tunnels are used for both network database maintenance and " +"tunnel\n" +"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 "" +"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" +"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" +"Peer Profiling and Selection page." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:314 +msgid "Client tunnel peer selection" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:316 +msgid "" +"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" +"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" +"Peer Profiling and Selection page." +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" +"predecessor attack\n" +"(2008 update)." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:338 +msgid "" +"To frustrate the predecessor \n" +"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" +"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" +"craft two router hashes far apart to maximize the chance of being at both" +"\n" +"ends of a tunnel.\n" +"Peers are sorted by XOR distance of the\n" +"SHA256 Hash of (the peer's hash concatenated with the random key) from " +"the random key" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:360 +msgid "" +"Because each tunnel pool uses a different random key, ordering is " +"consistent\n" +"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 "" +"A multi-hop tunnel is built using a single build message which is " +"repeatedly\n" +"decrypted and forwarded. In the terminology of\n" +"Hashing it out in Public,\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" +"designed to reduce the number of\n" +"predecessors exposed, cuts the number of messages transmitted, verifies " +"proper\n" +"connectivity, and avoids the message counting attack of traditional " +"telescopic\n" +"tunnel creation.\n" +"(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" +"the \"Hashing it out\" paper.)" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:387 +#, python-format +msgid "" +"The details of tunnel request and response messages, and their " +"encryption,\n" +"are specified here." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:392 +msgid "" +"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" +"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" +"Peer Profiling and Selection page." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:407 +msgid "Tunnel Pools" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:409 +#, python-format +msgid "" +"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" +"In addition, there is a pair of pools for each local destination -\n" +"one inbound and one outbound tunnel pool. Those pools use the " +"configuration specified\n" +"when the local destination connects to the router via I2CP, or the router's defaults if\n" +"not specified." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:421 +#, python-format +msgid "" +"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" +"how long the tunnels should be, whether those\n" +"lengths should be randomized, as \n" +"well as any of the other settings allowed when configuring individual " +"tunnels.\n" +"Configuration options are specified on the I2CP " +"page." +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 "" +"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" +"network conditions.\n" +"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" +"without building an excess of tunnels, building them too soon,\n" +"or consuming too much CPU or bandwidth creating and sending the encrypted" +" build messages." +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" +"Using these statistics, it calculates how long before a tunnel's " +"expiration\n" +"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 "" +"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" +"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" +"For all participating routers (internal participant, inbound gateway, and" +" outbound endpoint),\n" +"the router will start randomly dropping a portion of messages as the\n" +"bandwidth limits are approached.\n" +"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" +"Larger messages are more likely to be dropped.\n" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:515 +msgid "Padding" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:516 +msgid "" +"The padding strategies can be used on a variety of levels, addressing the" +"\n" +"exposure of message size information to different adversaries.\n" +"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" +"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 here for the current implementation" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7 +msgid "" +"This page describes the origins and design of I2P's unidirectional " +"tunnels.\n" +"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" +"attacker who has only timing and traffic volume data to infer the path a" +" \n" +"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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55 +msgid "" +"The strategy of using two separate tunnels for inbound and outbound\n" +"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" +"an HTTP GET, while the peers in an inbound tunnel would see the payload \n" +"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" +"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 paper by Hermann and Grothoff\n" +"declared that I2P's unidirectional tunnels \"seems to be a bad design " +"decision\"." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80 +msgid "" +"The paper's main point is that\n" +"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" +"with long-living eepsites." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88 +msgid "" +"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" +"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" +"example, somebody could make a list of possible IPs then issue subpoenas " +"to \n" +"each. Or the attacker could DDoS each in turn and via a simple \n" +"intersection attack see if the eepsite goes down or is slowed down. So " +"close \n" +"may be good enough, or time may be more important." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104 +msgid "" +"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" +"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" +"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" +"done that analysis, if it's even possible to do it\n" +"effectively." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120 +msgid "" +"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" +"choice, or just that it needs more study? Timing attacks and \n" +"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" +"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" +"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" +"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 €/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 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:59 +msgid "Donate 30 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:71 +msgid "Donate 50 €/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 "" +"As of December 2010, eche|on has been running a Bitcoin 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" +"%(account)s and leave eche|on a note if you'd like your donation " +"to be mentioned on the I2P webpage." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:95 +msgid "" +"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" +"as the envelope can be lost on the way to us." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:99 +#, python-format +msgid "" +"If you'd like to donate via snail mail, send an email to %(email)s\n" +" and you'll receive an email with instructions detailing how to proceed." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:104 +#, python-format +msgid "" +"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 hall of fame." +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" +"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or " +"irc.postman.i2p)." +msgstr "" + +#: i2p2www/pages/site/get-involved/index.html:9 +#, python-format +msgid "" +"If you're interested in joining our team, please" +" get in\n" +"touch as we're always looking for eager contributors!" +msgstr "" + +#: i2p2www/pages/site/get-involved/index.html:13 +msgid "" +"We need help in many areas, and you don't need to know Java to " +"contribute!\n" +"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 monotone\n" +"and report results on #i2p or as bugs on Trac." +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 applications page." +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 Trac\n" +"or the TODO list on %(zzz)s for\n" +"some ideas on where to start.\n" +"See the new developer's guide 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 new translator's guide 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" +"threat models,\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 restricted routes" +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 "" +"Reduce memory usage, remove debugging overhead, make it run better on " +"slow and embedded machines" +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 TODO 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 "" +"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 the roadmap. Want to " +"help?\n" +"Get involved!" +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 "" +"Per-hop tunnel id & new permuted TunnelVerificationStructure " +"encryption" +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 & go mix w/ garlics & 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 "" +"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" +"two ways:" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:73 +msgid "" +"Peers who have reachable interfaces - these peers do not need to \n" +"do anything special" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:77 +msgid "" +"Peers who do not have reachable interfaces - 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" +"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" +"build a tunnel through them, and publish a reference to those tunnels " +"within \n" +"their RouterInfo structure in the network database." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:90 +msgid "" +"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" +"can connect directly (e.g. the peer has a publicly reachable interface) \n" +"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" +"tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:98 +msgid "" +"When a router just wants to get a message or two to a specific hidden " +"peer, \n" +"they can just use the indirect tunnel for sending the payload. However, \n" +"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" +"be sent to the originating router. That hidden peer then establishes an \n" +"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" +"connection." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:109 +msgid "" +"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" +"peer's inbound tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:115 +msgid "" +"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" +"described below." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:121 +msgid "" +"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" +"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" +"calls, and to keep a blocked socket from hanging the entire system, those" +" \n" +"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" +"have one thread reading and one thread writing. The reader thread simply" +" \n" +"loops a bunch of read() calls, building I2NP messages and adding them \n" +"to our internal inbound message queue, and the writer thread pulls " +"messages \n" +"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" +"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" +"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" +"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" +"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 elsewhere" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:165 +msgid "" +"Sending and receiving UDP datagrams is a connectionless operation - if \n" +"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" +"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 "" +"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" +"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" +"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" +"an order of magnitude in size. With UDP, we can optimize the transport \n" +"for both efficiency and resilience by taking into account I2P's " +"particular \n" +"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 "" +"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java" +" \n" +"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" +"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 Kaffe, \n" +"as GNU/Classpath has only " +"limited \n" +"support for NIO. (note: this may not be the case anymore, as there \n" +"has been some progress on Classpath's NIO, but it is an unknown " +"quantity)" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:206 +#, python-format +msgid "" +"Another alternative along the same lines is the Non" +" \n" +"Blocking I/O 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 "" +"Within the current network database and profile management " +"implementation, \n" +"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" +"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" +"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" +"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" +"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 "" +"That said, as the network grows we are going to want to keep these " +"considerations \n" +"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 "" +"Addressed in I2P 0.5 as documented elsewhere" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:251 +msgid "" +"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n" +"going to Dave, then to Charlie, then Bob, and finally Alice " +"(A<--B<--C<--D<--E), \n" +"all five of them will know they are participating in tunnel \"123\", as \n" +"the messages are tagged as such. What we want to do is give each hop " +"their \n" +"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 "" +"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" +"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" +"and on the verification structure (used to prevent simple tagging " +"attacks). \n" +"This requires some simple modifications to the TunnelMessage, as well \n" +"as the inclusion of per-hop secret keys delivered during tunnel creation" +" \n" +"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" +"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" +"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" +"the entry associated with their own hop (keyed by the per-hop tunnel ID)" +" \n" +"and verifying the payload by checking it against the associated signed \n" +"hash." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:282 +msgid "" +"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" +"in the same tunnel. In addition, neighboring peers know that they are \n" +"in the same tunnel anyway, as they know who they send the message to (and" +" \n" +"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 proposed to deal with the\n" +"predecessor attack (2008\n" +"update), 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" +"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" +"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 "" +"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" +"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 "" +"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" +"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n" +"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" +"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 "" +"The restricted route functionality described before was simply a " +"functional \n" +"issue - how to let peers who would not otherwise be able to communicate \n" +"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" +"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" +"garlic routing technique outlined before) - they can simply take the " +"garlic \n" +"clove that has a request for delivery to a particular peer and tunnel \n" +"route that message out one of the hidden peer's trusted links with " +"instructions \n" +"to forward it as requested." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:379 +#, python-format +msgid "" +"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 Sybil \n" +"attack. Traditional techniques such as having a peer see who is " +"requesting \n" +"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 "" +"Hashcash is one technique that \n" +"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" +"creating a new destination (done only once when creating a service), or \n" +"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" +"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" +"requests for resources \"nonfree\", and further research on that front is" +" \n" +"appropriate." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:408 +#, python-format +msgid "" +"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" +"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" +"and injecting dummy messages (indistinguishable from other \"real\" " +"tunnel \n" +"messages by peers in the path). There has been a significant amount of \n" +"research \n" +"on these algorithms that we can lean on prior to implementing the various" +" \n" +"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" +"amount of data they can route for the network, and to keep any particular" +" \n" +"tunnel from consuming an unreasonable portion of that bandwidth, they \n" +"will want to include some throttles on the tunnel. For instance, a tunnel" +" \n" +"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" +"this sort of throttling, peers can provide ATM-like QoS support for their" +" \n" +"tunnels, refusing to agree to allocate more bandwidth than the peer has \n" +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:434 +msgid "" +"In addition, we may want to implement code to dynamically reroute tunnels" +" \n" +"to avoid failed peers or to inject additional hops into the path. This \n" +"can be done by garlic routing a message to any particular peer in a " +"tunnel \n" +"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" +"capabilities for protecting against powerful attackers, such as allowing" +" \n" +"each step in a garlic routed path to define a delay or window in which \n" +"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" +"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" +"Performance 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 +#: i2p2www/pages/site/get-involved/bounties/index.html:112 +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 +msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada." +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" +"It should integrate with other client via the I2P network and via " +"gateways to\n" +"the existant bitcoin network." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15 +msgid "Judge is psychonaut who donated the first 30 € 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" +"with which files/messages are stored into database and got from database." +"\n" +"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" +"out eepsites out of the I2P datastorage. All files for eepsites need to " +"be\n" +"saved inside of datastorage and are taken from it.\n" +"Extension:\n" +"For better integration all datastorage participants could serve that " +"eepsite." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:36 +msgid "" +"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" +"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" +"to I2P, this bounty was set for including an I2P package into the Ubuntu " +"and Debian \n" +"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" +"448638 \n" +"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" +"forward. As with any open source project, our goals would be achieved " +"more \n" +"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" +"implemented, and people who want to contribute to I2P can be assured that" +" \n" +"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" +"but don't have strong feelings about the bounties available. Those " +"people\n" +"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" +"necessary - allocated to various bounties, covering incidentals (hosting," +" \n" +"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 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Name" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Status" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +msgid "Judge" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +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:68 +#: i2p2www/pages/site/get-involved/bounties/index.html:82 +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 "" + +#: 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 "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:89 +msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:94 +msgid "Bundling bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:95 +msgid "Proposed" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:102 +msgid "Claimed bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:107 +msgid "Setting up a SILC server" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:117 +msgid "Datastore over I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:127 +msgid "Swarming file transfer" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:132 +msgid "Streaming library window size" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:137 +msgid "IRC connect time monitor" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:142 +msgid "Unit tests (part 1)" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:154 +msgid "" +"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" +"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 "" +"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" +"free to distribute)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2 +msgid "Bounty russian translation of webpage and router console" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + +#: 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 "" +"For collecting the bounty of $115 USD you need to translate the following" +" pages:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30 +msgid "" +"Part 2 is the translation of the router console. The whole router console" +" needs\n" +"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" +"This will allow people to send files over their messaging servers and " +"have intrinsic security built into the protocol." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:12 +msgid "" +"A silc server needs to be set up and run for at least 3 month time to get" +" payed. \n" +"A second server should be set up, to." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:16 +msgid "" +"Bounty was withdrawn and money donated to returningnovice and general " +"fund." +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 "" +"For our bad sake the syndie project is out of development for \n" +"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" +"Current bounty sum is 100 Bitcoin." +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 €" +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.
\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" +"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g." +" \n" +"Clover). 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" +"Configuration should be friendly to starters and made easy to be " +"anonymous.\n" +"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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:4 +msgid "Application Development Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:8 +#: i2p2www/pages/site/get-involved/develop/applications.html:14 +msgid "Why write I2P-specific code?" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:9 +#: i2p2www/pages/site/get-involved/develop/applications.html:94 +msgid "Important concepts" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:10 +#: i2p2www/pages/site/get-involved/develop/applications.html:170 +msgid "Development options" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:11 +#: i2p2www/pages/site/get-involved/develop/applications.html:276 +msgid "Start developing - a simple guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:16 +#, python-format +msgid "" +"There are multiple ways to use applications in I2P.\n" +"Using I2PTunnel,\n" +"you can use regular applications without needing to program explicit I2P " +"support.\n" +"This is very effective for client-server scenario's,\n" +"where you need to connect to a single website.\n" +"You can simply create a tunnel using I2PTunnel to connect to that " +"website, as shown in Figure 1." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:24 +msgid "" +"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" +"as shown in Figure 2.\n" +"This process can of course be automated, but running a lot of I2PTunnel " +"instances creates a large amount of overhead.\n" +"In addition, with many protocols you will need to force everyone to \n" +"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" +"(host and port)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:35 +msgid "" +"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" +"can avoid compromising user identities." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:41 +msgid "" +"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 32KB. 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" +"fragmentation of messages under 32KB." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:55 +#: i2p2www/pages/site/get-involved/develop/applications.html:57 +msgid "" +"Creating a server-client connection using I2PTunnel only requires " +"creating a single tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:57 +msgid "Figure 1:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:62 +#: i2p2www/pages/site/get-involved/develop/applications.html:64 +msgid "" +"Setting up connections for a peer-to-peer applications requires a very " +"large amount of tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:64 +msgid "Figure 2:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:68 +msgid "In summary, a number of reasons to write I2P-specific code:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:72 +msgid "" +"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)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:76 +msgid "" +"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" +"that does not leak such information, keeping users anonymous and secure." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:81 +msgid "" +"Network protocols designed for use on the regular internet can be " +"inefficient\n" +"on I2P, which is a network with a much higher latency." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:88 +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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:96 +msgid "There are a few changes that require adjusting to when using I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:100 +msgid "Destination ~= host+port" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:102 +msgid "" +"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" +"plus port number pair, though there are a few differences." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:110 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:115 +msgid "" +"I2P destinations are mobile identifiers - they can be moved from one I2P " +"router\n" +"to another (or with some special software, it can even operate on " +"multiple routers at\n" +"once). This is quite different from the TCP or UDP world where a single " +"end point (port)\n" +"must stay on a single host." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:122 +msgid "" +"I2P destinations are ugly and large - behind the scenes, they contain a " +"2048bit ElGamal\n" +"public key for encryption, a 1024bit DSA public key for signing, and a " +"variable size \n" +"certificate, which may contain proof of work or blinded data." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:127 +#, python-format +msgid "" +"There are existing ways to refer to these large and ugly destinations by " +"short\n" +"and pretty names (e.g. \"irc.duck.i2p\"), but at the moment those " +"techniques do not guarantee\n" +"globally uniqueness (since they're stored locally at each person's " +"machine as \"hosts.txt\")\n" +"and the current mechanism is not especially scalable nor secure (updates " +"to one host file are\n" +"manually managed within Monotone, and as such, anyone with commit rights " +"on the repository can\n" +"change the destinations). There may be some secure, human readable, " +"scalable, and globally \n" +"unique, naming system some day, but applications shouldn't depend upon it" +" being in place,\n" +"since there are those who don't think such a beast is possible.\n" +"Further information on the naming system is " +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:141 +msgid "Anonymity and confidentiality" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:143 +msgid "" +"A useful thing to remember is that I2P has transparent end to end " +"encryption\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:150 +msgid "" +"Of course, another useful thing to remember is that I2P transparently " +"anonymizes the\n" +"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" +"to expose." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:159 +msgid "I2P datagrams can be up to 32KB" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:161 +msgid "" +"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 32KB datagrams\n" +"(31KB when using the repliable kind). For many applications, 32KB of " +"data is sufficient for an\n" +"entire request or response, allowing them to transparently operate in I2P" +" as a UDP-like \n" +"application without having to write fragmentation, resends, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:172 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:177 +msgid "Streaming Lib" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:178 +#, python-format +msgid "" +"The full streaming library is now the " +"standard\n" +"interface. It allows programming using TCP-like sockets, as explained in " +"the Streaming development guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:184 +#, python-format +msgid "" +"BOB is the Basic Open Bridge,\n" +"allowing an application in any language to make streaming connections \n" +"to and from I2P. At this point in time it lacks UDP support, but UDP " +"support\n" +"is planned in the near future. BOB also contains several tools, such as \n" +"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" +"found at this eepsite." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:197 +msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is beta." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:198 +#, python-format +msgid "" +"SAM is the Simple Anonymous Messaging 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" +"and event based handling. SAM supports three styles of operation:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:205 +msgid "" +"streams, for when Alice and Bob want to send data to each other reliably " +"and in order" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:208 +msgid "" +"repliable datagrams, for when Alice wants to send Bob a message that Bob " +"can reply to" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:211 +msgid "" +"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" +"is self authenticating)" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:217 +msgid "" +"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n" +"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" +"communications with the SAM bridge." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:224 +#, python-format +msgid "" +"SAM V2 is a new version used by imule\n" +"that fixes some of the problems in SAM.\n" +"
\n" +"SAM V3 is used by imule since version 1.4.0." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:232 +msgid "" +"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" +" 8bit 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" +"their own unique I2P destination and their own set of tunnels, keys, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:244 +#: i2p2www/pages/site/get-involved/develop/applications.html:251 +#: i2p2www/pages/site/get-involved/develop/applications.html:262 +msgid "Not recommended" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:245 +msgid "" +"It was possible to write I2P applications in Java using the ministreaming" +" library.\n" +"However, the Streaming library has superceded this, and provides better " +"functionality." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:252 +#, python-format +msgid "" +"The Datagram library allows sending UDP-" +"like packets.\n" +"It's possible to use:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:257 +msgid "Repliable datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:258 +msgid "Raw datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:263 +#, python-format +msgid "" +"I2CP 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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:270 +msgid "Web Applications" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:271 +msgid "" +"I2P comes with the Jetty webserver, and configuring to use the Apache " +"server instead is straightforward.\n" +"Any standard web app technology should work." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:277 +msgid "" +"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 streaming library or datagram library.\n" +"Using another programming language, SAM or BOB can be used." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:283 +msgid "Developing with the streaming library" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:285 +msgid "" +"Development using the streaming library requires the following libraries " +"in your classpath:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:289 +msgid "the streaming library itself." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:290 +msgid "the ministreaming library is used as the base for the streaming library." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:291 +msgid "" +"some standard I2P classes (like the Destination class) are very " +"convenient when developing." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:294 +msgid "" +"Network communication requires the usage of I2P network sockets.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:299 +msgid "" +"We will start by initializing the server application. This requires " +"getting an I2PSocketManager\n" +"and creating an I2PServerSocket.\n" +"In addition, we will ask the I2PSocketManager for an I2PSession, so we " +"can find out the Destination we use." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:327 +msgid "Code example 1: initializing the server application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:329 +msgid "" +"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" +"A real server would have to be able to handle multiple clients.\n" +"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" +"The bold code is the new code we add." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:415 +msgid "Code example 2: accepting connections from clients and handling messages." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:419 +msgid "" +"When you run the above server code, it should print something like this " +"(but without the line endings, it should just be\n" +"one huge block of characters):" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:433 +msgid "" +"This is the base64-representation of the server Destination. The client " +"will need this string to reach the server." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:437 +msgid "" +"Now, we will create the client application. Again, a number of steps are " +"required for initialization.\n" +"Again, we will need to start by getting an I2PSocketManager.\n" +"We won't use an I2PSession and an I2PServerSocket this time.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:519 +msgid "" +"Code example 3: starting the client and connecting it to the server " +"application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:521 +msgid "" +"Finally, you can run both the server and the client application.\n" +"First, start the server application. It will print a Destination string " +"(like shown above).\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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:527 +msgid "Congratulations, you have successfully communicated over I2P!" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:531 +msgid "Existing Applications in Development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:532 +msgid "Contact us if you would like to help." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:549 +msgid "Application Ideas" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:551 +msgid "NNTP server - there have been some in the past, none at the moment" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:554 +msgid "" +"Jabber server - there have been some in the past, and there is one at the" +" moment, with access to the public internet" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:557 +msgid "PGP Key server and/or proxy" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:560 +msgid "" +"Download manager / eepget scheduler -\n" +"We use eepget to fetch lots of things reliably over i2p, and there's " +"already an\n" +"implementation of a sequential download manager " +"(net.i2p.util.EepGetScheduler),\n" +"but there isn't any sort of user interface to it. A web based UI would " +"be\n" +"great." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:567 +#, python-format +msgid "" +"Content Distribution / DHT applications - help out with feedspace,\n" +"port dijjer, look for alternatives" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:571 +msgid "Help out with Syndie development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:574 +msgid "" +"Web-based applications - The sky is the limit for hosting web-server-" +"based\n" +"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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:579 +msgid "" +"Resurrect some old apps - in the i2p source package -\n" +"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping" +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 "" +"Commit Keys to sign changes checked-in to the " +"respository; and" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:10 +msgid "" +"Transport Keys to push changes to remote " +"servers." +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" +"import the\n" +"developer commit keys, but only Monotone \n" +"server operators will need to import the transport keys." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:20 +msgid "Developer Commit keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:232 +msgid "Developer Transport Keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:233 +#, python-format +msgid "" +"Note: Transport keys are only needed for setting up a\n" +"Monotone server." +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 the licenses page." +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" +"threat model (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 "" +"use with no restrictions on how, when, where, why, or by whom is running " +"it" +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 "" +"Most of the software guarantees much more - the ability of anyone " +"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" +"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 "" +"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." +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" +"GPL'ed code included within\n" +"I2PTunnel and other apps must be released under the GPL with an " +"additional \"exception\"\n" +"explicitly authorizing the use of Java's standard libraries:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:288 +msgid "" +"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" +"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 Monotone Page 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" +"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:" +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 "" +"If specified in the source, the code may be explicitly licensed under one" +"\n" +"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 "" +"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" +"information.\n" +"See developers' license agreements." +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 "" +"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public " +"key is:" +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 "" +"Keys for zzz, Complication and welterde are provided clearsigned. The key" +" for jrandom must be\n" +"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 "" +"Tip: 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" +"76BA A76E 0BED`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49 +msgid "" +"Tip: 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" +"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81 +msgid "" +"Tip: 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" +"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116 +msgid "" +"Tip: To find jrandom's GPG key for Syndie releases, on public " +"keyservers locate\n" +"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" +"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" +"below." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130 +msgid "" +"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" +"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" +"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-" +"committers.sig\n" +"--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 signed license agreement." +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 new developers guide 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 "" +"Most of the following should be common sense for anybody who has worked " +"on open source or in a commercial\n" +"programming envrionment.\n" +"The following applies mostly to the main development branch i2p.i2p.\n" +"Guidelines for other branches, plugins, and external apps may be " +"substantially different;\n" +"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 "" +"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" +"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 "" +"Have a basic understanding of distributed source control systems, even if" +" you haven't\n" +"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" +"In case you do (it happens), please do not vanish for a long period after" +"\n" +"you push your change." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51 +msgid "" +"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" +"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" +"but in our experience, in-workspace merge works just as well as in-" +"database merge,\n" +"without creating a merge revision." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68 +msgid "" +"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" +"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 "" +"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" +"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 "" +"New classes and methods require at least brief javadocs. Add @since " +"release-number." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87 +msgid "" +"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" +"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" +"If you add or change the API, also update the documentation on the " +"website (i2p.www branch)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95 +msgid "" +"Tag strings for translation where appropriate.\n" +"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" +"translators have a chance to update before the release." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101 +msgid "" +"Use generics and concurrent classes where possible. I2P is a highly " +"multi-threaded application." +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" +"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." +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 "" +"The main I2P development branch (i2p.i2p) has been set up to" +" enable developers to easily set up two of the commonly-used IDEs for " +"Java development: Eclipse and NetBeans." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:10 +msgid "" +"The main I2P development branches (i2p.i2p and branches from" +" it) contain .project and .classpath Eclipse files, to enable the branch " +"to be easily set up in Eclipse." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:16 +msgid "" +"Check out the I2P branch into some directory (e.g. " +"$HOME/dev/i2p.i2p)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:20 +msgid "" +"Open Eclipse and create a new Workspace, based in the directory that the " +"I2P branch was checked out to." +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 "" +"For \"Select root directory:\" choose the directory that the I2P branch " +"was checked out to." +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 "" +"Done! Your workspace should now contain all projects within the I2P " +"branch, and their build dependencies should be correctly set up." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:48 +msgid "" +"The main I2P development branches (i2p.i2p and branches from" +" it) contain NetBeans project files." +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 i2p.i2p, i2p.www and " +"i2p.syndie 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 "" +"This is a revised version of Complication's original\n" +" guide detailing the use of Monotone in I2P development.\n" +" For basic instructions see the quick-start " +"guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:42 +#, python-format +msgid "" +"I2P has a distributed development model. The source code is replicated " +"across\n" +" independently administered Monotone (\"MTN\") repositories.\n" +" Developers with commit rights are able to push their changes to the " +"repository\n" +" (a license agreement needs to be " +"signed\n" +" 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" +" version control, cryptographic authentication, access control, its " +"small size, having few\n" +" dependencies, storage of projects in a compressed SQLite database file," +" and\n" +" 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:74 +msgid "" +"Without a transport key, one cannot:\n" +"
    \n" +"
  • pull code from a server which doesn't allow global read " +"access
  • \n" +"
  • push code to any server
  • \n" +"
  • run a Monotone server
  • \n" +"
" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:85 +msgid "" +"Without a commit key, one cannot:\n" +"
    \n" +"
  • commit any code
  • \n" +"
" +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" +" next section. " +"If you want\n" +" to generate keys, read the following." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:102 +msgid "" +"By convention keys are named like an e-mail addresses, but a " +"corresponding e-mail\n" +" address does not need to exist. For example, your keys might be named:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:113 +msgid "" +"Monotone stores keys under $HOME/.monotone/keys in " +"text files which\n" +" 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 "" +"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" +" 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 "" +"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" +" not replace reading diffs." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:155 +msgid "" +"A Monotone repository is a single file (a compressed SQLite database) " +"which contains all of the project's source code and history." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:161 +msgid "" +"After importing the " +"developers' keys into Monotone and\n" +" setting up trust " +"evaluation hooks,\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" +" needed due to the push access policies in place." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:171 +msgid "" +"A repository can hold many branches. For example, our repository holds " +"the\n" +" 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 "" +"By convention, the I2P Monotone repository is named i2p.mtn." +" 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" +" i2p.mtn file and branch directories to be stored and issue" +" the following\n" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:199 +msgid "" +"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" +" " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:206 +#, python-format +msgid "" +"Developers' commit keys are provided GPG-signed on another page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:212 +#, python-format +msgid "" +"To import developers' keys after verifying their authenticity, copy all of the keys into a new\n" +" file. Create this file (e.g. keys.txt) in the same " +"directory where i2p.mtn is located. Import the keys with the" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:222 +msgid "" +"Note: Never add keys to " +"$HOME/.monotone/keys manually." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:230 +msgid "" +"The default Monotone trust policy is way too lax for our requirements: " +"every comitter is trusted by default.\n" +" That is not acceptable for I2P development." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:237 +msgid "" +"Change into the directory $HOME/.monotone and open " +"the file\n" +" monotonerc with a text editor. Copy and paste the " +"following two functions into this file:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:246 +msgid "" +"The first function determines an intersection between two sets, in our " +"case a\n" +" revision's signers and trusted signers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:253 +msgid "" +"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" +" 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 official Monotone " +"documentation." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:271 +msgid "" +"Enter the directory where you initialized i2p.mtn. Depending " +"on whether you\n" +" want only I2P sources, or also sources for the I2P website and Syndie, " +"you can\n" +" perform the pull 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 "" +"If the transfer aborts before completing sucessfully, simply repeating " +"the pull command will resume the transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:300 +msgid "" +"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" +" 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 monotonerc file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:316 +msgid "" +"Modify monotonerc by setting the trusted_signers " +"variable in the following way:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:322 +msgid "" +"With monotonerc configured as above, Monotone will no" +" longer trust any committers. Confirm this by changing into the\n" +"directory where i2p.mtn was created and attempt a checkout " +"of the I2P branch:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:332 +msgid "" +"A directory named i2p.i2p should not appear. You " +"should encounter many\n" +" 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" +" monotonerc that was created above. If you didn't create a " +"backup\n" +" as advised, re-read Setting up trust evaluation hools." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:360 +msgid "" +"If you already have a branch checked out, skip to the next\n" +" section." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:367 +msgid "" +"Change into the directory where i2p.mtn is located. Over " +"there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:376 +msgid "" +"The checkout should complete without error messages and a directory named" +"\n" +" i2p.i2p should appear in the current directory. " +"Congratulations! You have\n" +" successfully checked out the latest I2P sources, ready to be compiled." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:387 +msgid "" +"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" +" i2p.mtn is located and issue:\n" +"
    \n" +"
  • $ mtn --db=\"i2p.mtn\" -k \"\" pull 127.0.0.1:8998 " +"i2p.i2p
  • \n" +"
" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:398 +msgid "Now change into your i2p.i2p directory, and over there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:407 +msgid "" +"As long as there were no errors…Congratulations! You have " +"successfully updated to the latest I2P sources. They\n" +" 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 "" +"No one will not be able to push code to your server without permission " +"being explicitly granted. To grant push access:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:451 +msgid "" +"Add the name of the user's transport key to\n" +"$HOME/.monotone/write-permissions, such as\n" +"
\n"
+"    zzz-transport@mail.i2p\n"
+"    complication-transport@mail.i2p\n"
+"
\n" +"with one key per line." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:462 +msgid "" +"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 Obtaining and deploying " +"developers' keys." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:472 +msgid "" +"A separate database should be used for your Monotone server because " +"monotone will lock the database while it is served to others.\n" +" Make a copy of your development database, then start the server with:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:479 +msgid "" +"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" +" (or by clearing the password for your transport key)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:487 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:497 +msgid "" +"Debian (amongst other distributions) has integrated Monotone into their\n" +" 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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:505 +msgid "" +"Permissions are granted by editing the files\n" +" /etc/monotone/read-permissions and\n" +" /etc/monotone/write-permissions. You'll also need to edit\n" +" /etc/default/monotone to enable monotone to start at boot " +"or to\n" +" 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" +"on contributing to the website or the software, doing development or " +"creating translations." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:9 +#, python-format +msgid "" +"\n" +"Not quite ready for coding?\n" +"Try getting involved 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 "" +"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 Thinking in Java." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:33 +#, python-format +msgid "" +"Study the how intro,\n" +"the other \"how\" documents,\n" +"the tech intro,\n" +"and associated documents.\n" +"These will give you a good overview of how I2P is structured and what " +"different things it does." +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 monotone.\n" +"Monotone is a version control system.\n" +"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)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:53 +msgid "" +"Skim over the monotone tutorial," +" to make sure you understand the concepts." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:57 +msgid "" +"If you want to remain anonymous, you need to do an additional step, to " +"set up a connection to a monotone server over I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:60 +#, python-format +msgid "" +"Enable the i2ptunnel 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 "" +"Define the trust list by creating ~/.monotone/monotonerc (or" +" _MTN/monotonerc in the i2p.i2p workspace) with the " +"following contents:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:72 +#, python-format +msgid "" +"Copy and paste the developer's commit keys " +"into a new file (e.g. keys.txt) in the same directory\n" +" that i2p.mtn is in. Import the keys into your database " +"with
      mtn -d i2p.mtn read < keys.txt
" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:76 +msgid "" +"Pull the I2P sources to your machine. This may take a long time, " +"especially if you are doing this over I2P!" +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 "" +"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn" +".i2p-projekt.de." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:90 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:92 +msgid "" +"The above command creates a directory i2p.i2p, which contains all of the " +"I2P sources." +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" +"To download the website files instead of the I2P source files, use " +"'i2p.www' instead of 'i2p.i2p'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:100 +msgid "" +"The initial pull may take several hours using the tunnel.\n" +"If it fails after a partial pull, simply rerun it, it will start where it" +" left off.\n" +"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 "" +"A full list of branches, including i2p.i2p and i2p.www can be found on viewmtn." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:108 +#, python-format +msgid "" +"A long explanation about using monotone is available on the monotone page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:114 +#, python-format +msgid "" +"To compile the code, you need the Sun Java Development Kit 6 or higher, " +"or equivalent JDK\n" +"(Sun JDK 6 strongly recommended) and\n" +"Apache ant\n" +"version 1.7.0 or higher.\n" +"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." +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" +"GNU gettext package." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:128 +#, python-format +msgid "" +"For development on new applications,\n" +"see the application development guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:134 +#, python-format +msgid "" +"See zzz's TODO lists,\n" +"this website's TODO list or\n" +"Trac\n" +"for ideas." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:143 +#, python-format +msgid "" +"See the bottom of the licenses page " +"for\n" +"commit privilege requirements. You need these to put code into i2p.i2p " +"(not required for the website!)." +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 "" +"send 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 release manager 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 monotone page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:163 +#, python-format +msgid "" +"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 additional guidelines for regular" +" developers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:169 +#, python-format +msgid "" +"Website and router console translators: See the New Translator's Guide\n" +"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" +"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" +"are interested in profiling the I2P codebase." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:183 +#, python-format +msgid "" +"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" +"YourKit Java Profiler and\n" +"YourKit .NET Profiler." +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 "" +"Translation of the website is done with .po files. The easiest way by far" +" to\n" +"translate the website is to sign up for an account at \n" +"Transifex and request to join a translation" +" team. \n" +"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" +"To make sure other coworkers don't bump onto the files you are working " +"on,\n" +"please update the translation status on this wiki " +"page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:25 +#, python-format +msgid "" +"Follow the new developer's guide,\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 "" +"Create files:\n" +"If the file for your language does not exist yet:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:38 +msgid "" +"Run \"./extract-messages.sh\" to generate a " +"messages.pot in the base directory.\n" +"Edit the header of this file, then run \"./init-new-po.sh " +"locale\" to generate the file\n" +"i2p2www/translations/locale/LC_MESSAGES/messages.po. " +"\"mtn add\" this file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:43 +msgid "" +"Edit i2p2www/pages/global/lang.html and add a line for your " +"language (copy an existing line)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:46 +msgid "" +"Add a flag image file to i2p2www/static/images/flags/ for " +"the menu (copy from the router)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:52 +msgid "" +"Edit files:\n" +"Edit i2p2www/translations/locale/LC_MESSAGES/messages.po.\n" +"To work with .po files efficiently, you may wish to use POEdit" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:58 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:151 +msgid "" +"Check in:\n" +"\"mtn pull\", \"mtn update\". Then check in by " +"\"mtn ci -k yourname@mail.i2p file1 file2 ...\"\n" +"This collects the diff info of your changed file into your local repo. " +"Then \"mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p " +"i2p.i2p\".\n" +"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 "" +"The easiest way by far to translate the router console is to sign up for " +"an account at \n" +"Transifex and request to join a translation" +" team. \n" +"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 new developer's guide,\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 "" +"Before starting a console translation, better help translate some i2p " +"webpages first.\n" +"At least an i2p homepage in your language would be great." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:106 +msgid "" +"What to translate:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:137 +msgid "" +"Create files:\n" +"If the file for your language does not exist yet, copy another language " +"file to a new file foo_xx.bar for your language.\n" +"Then \"mtn add\" the file.\n" +"After creating a .po file, edit the headers. Then run \"ant " +"distclean poupdate\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:144 +msgid "" +"Start to work:\n" +"Edit the HTML files with any text editor.\n" +"Be sure not to use an editor in HTML mode that reformats everything.\n" +"To work with .po files efficiently, you may wish to use POEdit" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:163 +msgid "" +"As you can see, it's not that difficult.\n" +"If you have questions about the meaning of the terms in the console, ask " +"in #i2p-dev on IRC." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:171 +msgid "" +"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?" +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 here." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:182 +msgid "" +"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." +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 " +"tweak it to make it look right before you submit it. Developers " +"will update or add to the English text, thus requiring a translation " +"update." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:190 +msgid "" +"Having translators use a source control system directly provides " +"authentication and accountablility - we know who is doing what, and we " +"can track changes, and revert them if necessary." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:194 +msgid "" +".po files are not difficult. If you don't want to work directly with " +"them, we recommend 'poedit'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:198 +msgid "" +"HTML files are not difficult. Just ignore the html stuff and translate " +"the text." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:202 +msgid "" +"Installing and using monotone is not that difficult. Several of the " +"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\"." +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 " +"files, with a specific format and character encoding (UTF-8) that must be" +" maintained, and not corrupted by email programs or other methods of " +"transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:210 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:215 +msgid "" +"In summary:\n" +"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." +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 translation forum on %(zzz)s." +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" +"Two members of the I2P team will be at two forthcoming Linux day and " +"security convention." +msgstr "" + +#: i2p2www/pages/site/misc/clt.html:9 +#, python-format +msgid "" +"On 14th march of 2009 there will be a short talk about general " +"introduction to I2P at the Chemnitz Linux Tag " +"2009 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!" +msgstr "" + +#: i2p2www/pages/site/misc/clt.html:14 +#, python-format +msgid "" +"Just 10 days later the Privacy and Data Security " +"convention 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." +msgstr "" + +#: i2p2www/pages/site/misc/cvs.html:4 +#, python-format +msgid "" +"The I2P sourcecode was kept in a CVS repository. Nowadays it is kept in a" +" Monotone repository.\n" +"For those who aren't very familiar with CVS, there is a\n" +"fantastic book " +"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" +"touch)." +msgstr "" + +#: i2p2www/pages/site/misc/cvs.html:31 +msgid "" +"Humorous quote from WinCVS: \"Did you know... Never experiment with new " +"CVS\n" +"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 %(url)s" +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: \"eepsite\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-migration.html:22 +msgid "For the description: \"My eepsite, isn't it pretty?\"" +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: path to \"myWebPriv.dat\"
\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 \"Save\"" +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 "" +"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 i2ptunnel.config 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" +"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 "" +"I recommend the Tiny Httpd web server, thttpd, (windows version available" +" on site) although you can use anything that you feel comfortable with." +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 " +"newbies who have no experience setting up and hosting content over " +"servers, see the hosting page for help." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:19 +msgid "" +"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." +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 http://localhost:10880 (changing the 10880 to the " +"port number you have chosen)." +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 "" +"I2P does not deal in IP addresses. To protect your anonymity, it deals in" +" unique addresses called destination keys." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:38 +msgid "" +"A destination key works a lot like a regular IP address, except that it " +"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)" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:41 +msgid "" +"To deploy a server on I2P, you create a destination keypair. You use the " +"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)" +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: java -jar " +"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat " +"myWebPubKey.dat\" (all on one line)" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:50 +msgid "" +"In windows, to generate your keypair, type the command: java -jar " +"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat " +"myWebPubKey.dat\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:53 +msgid "" +"The filenames myWebPrivKey.dat and " +"myWebPubKey.dat are arbitrary - choose whatever you want " +"here, as long as you understand your own choices." +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 "" +"To convert your myWebPubKey.dat file into shareable base64, type the " +"command java -cp lib/i2p.jar net.i2p.data.Base64 encode " +"myWebPubKey.dat > myWebPubKey.txt (all on one line)." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:62 +msgid "" +"This file you have just generated, myWebPubKey.txt, 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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:65 +msgid "" +"However, in contrast to an IP address, there is no way to trace your " +"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." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:75 +msgid "" +"To activate such a tunnel, type the command java -jar " +"lib/i2ptunnel.jar -nogui -e \"server localhost 10880 " +"myWebPrivKey.dat\" (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: " +"java -jar lib/i2ptunnel.jar -nogui -e \"server localhost 10880 " +"myWebPrivKey.dat\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:84 +msgid "" +"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." +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 " +"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" +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 http://myserver.i2p" +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 "" +"As you grow into I2P and get more of a 'feel' for it, you will want to " +"use all manner of servers and clients." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:120 +msgid "" +"The beauty of I2P is that it allows standard Internet clients and servers" +" for most protocols to be transparently 'tunneled' through the anonymous " +"network." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:123 +msgid "" +"You can run mailservers/clients, nameservers/clients, newsservers/clients" +" - almost anything at all - perhaps even FTP in passive mode." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:126 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:129 +msgid "" +"To open your client tunnel for your server, type the command java " +"-jar lib/i2ptunnel.jar -nogui -e \"config localhost 7654\" -e \"client " +"10888 textofbase64key\" (all one line)." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:132 +msgid "" +"The port 10888 is arbitrary - it just needs to be something other than " +"the physical port your server is listening on." +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 http://localhost:10888" +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 "" +"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." +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 www.mynick.i2p as well as your destination key. " +"Others will then be able to reach your server remotely, without either of" +" you jeopardizing your anonymity." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:157 +msgid "" +"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." +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 "" +"It would drive most people crazy, going through all these steps every " +"time one sets up an I2P server, and/or deploys a client." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:167 +msgid "" +"Aum's website http://www.freenet.org.nz/i2p/ 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 " +"trying to write something which satisfies everyone's needs usually " +"results in something so complex that it turns into newbie-repellent." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:176 +msgid "Exercise for Windows users - port setupServer.py into a MS-DOS .BAT file." +msgstr "" + +#: i2p2www/pages/site/misc/invisiblenet.html:2 +msgid "Old Documents" +msgstr "" + +#: i2p2www/pages/site/misc/invisiblenet.html:5 +msgid "" +"Following is a list of documents originally on www.invisiblenet.net/i2p/ " +"and\n" +"rescued via the\n" +"Wayback Machine.\n" +"They are quite dated and may or may not be accurate.\n" +"However, the I2CP and I2NP documents in particular have some good " +"information." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:3 +msgid "August 2011" +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:7 +msgid "" +"Using JNI (Java Native Interface), a bit of C code (thanks ugha!), a " +"little\n" +"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" +"GNU MP Bignum library (libgmp).\n" +"We use a single function from libgmp -\n" +"mpz_powm()\n" +"as a replacement for the\n" +"Java Math library's BigInteger modPow().\n" +"As modPow() is a significant computational portion of many crypto " +"operations, this is of significant benefit." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:25 +#, python-format +msgid "" +"The standard I2P installation includes about 20 versions of the library " +"for different platforms,\n" +"each about 50KB, inside the jbigi.jar file.\n" +"The initialization of the JBigI library, including CPU identification, " +"selection, and extraction\n" +"of the correct loadable module, is handled by the\n" +"NativeBigInteger class.\n" +"If no module is available for the current platform, the standard\n" +"Java Math library's BigInteger modPow()\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 "" +"Following are the instructions to build a new jbigi library for your own " +"platform\n" +"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" +"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" +"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 "" +"The required code is available in monotone database and the latest source" +" tarball. " +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:51 +msgid "" +"The GNU MP Bignum library (libgmp) needs to be installed, if it isn't\n" +"included in your OS / distribution or installed already, it can be " +"received from\n" +"http://gmplib.org/#DOWNLOAD. " +"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" +"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 "" +"Look at your running " +"environment on the logs.jsp page.\n" +"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 "" +"Look on http://localhost:7657/stats.jsp" +"\n" +"to see what the lifetime average values for " +"crypto.elGamal.decrypt and\n" +"crypto.elGamal.encrypt are. The numbers are times in " +"milliseconds. Copy these somewhere so you can compare\n" +"them later on.\n" +"The network average for encrypt time is about 20ms.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:87 +#, python-format +msgid "" +"Get the latest released source code of I2P from\n" +"the download page, or get the cutting-edge " +"source\n" +"out of the monotone database mtn.i2p2.de" +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:92 +msgid "Inside the source tree change directory to: core/c/jbigi" +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" +"from http://gmplib.org/#DOWNLOAD, " +"saving it to gmp-5.0.2.tar.bz2.\n" +"If you decide to use a newer version, change the VER= line in " +"core/c/jbigi/build.sh." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:101 +msgid "" +"Take a look at build.sh, if your JAVA_HOME\n" +"environment variable is set and you are using Linux then it might just " +"work.\n" +"Otherwise change the settings. Remember, you need the Java SDK installed." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:106 +msgid "" +"Run build.sh (if you downloaded GMP) or\n" +"build.sh dynamic (if you have /usr/lib/libgmp.so).
\n" +"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" +"or fix $JAVA_HOME.
\n" +"You can run the build.sh from the core/c/ " +"directory which will\n" +"build all available jbigi libs into a jbigi.jar.
\n" +"A file named libjbigi.so should be created in the current\n" +"directory. If this doesn't happen and/or you get errors then please " +"report\n" +"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 libjbigi.so 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 "" +"On http://localhost:7657/stats.jsp" +"\n" +"the crypto.elGamal.decrypt and " +"crypto.elGamal.encrypt\n" +"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 "" +"The following message was received in mid-November 2007. We have no " +"further information\n" +"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" +"on January 13, 2008, and the i2p.net servers did not fully return to " +"service.\n" +"As only jrandom has the credentials required to restore service,\n" +"and he could not be contacted,\n" +"we moved all public services to www.i2p2.de\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 %(forum)s." +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 "" +"The installation package for the I2P router" +" comes\n" +"with a Java wrapper for the most common architectures. If your system is " +"not\n" +"supported by our installer—or if you want to update the wrapper to " +"a\n" +"newer version—the following steps describe installing the wrapper " +"manually." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:14 +msgid "" +"Check Tanuki Software's download" +" page\n" +"for your platform. Is your platform listed? If so, you're in\n" +"luck! Download the most recent version of the Community Edition for your " +"OS and\n" +"CPU and move to the next step." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:20 +msgid "" +"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" +"on to compiling 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 +msgid "In the steps below, $I2P means the location I2P was installed to." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:36 +#: i2p2www/pages/site/misc/manual-wrapper.html:64 +msgid "Try to start I2P using $I2P/i2prouter start" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:37 +#: i2p2www/pages/site/misc/manual-wrapper.html:65 +msgid "tail -f /tmp/wrapper.log and look for any problems." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:39 +#: i2p2www/pages/site/misc/manual-wrapper.html:67 +msgid "" +"If this did not work you'll need to use runplain.sh to start" +" I2P." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:43 +msgid "Compiling from source" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:44 +msgid "" +"These steps worked to compile the wrapper for use on a mipsel system " +"running Debian. The steps will need to be altered for " +"your system." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:48 +msgid "" +"Download the source archive for the community version of the wrapper from" +" wrapper download" +" page." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:49 +msgid "Extract the tarball" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:51 +msgid "" +"Set environment variables ANT_HOME and " +"JAVA_HOME. For example, in Debian:" +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 ./build64.sh 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 "" +"An optimized form, designed to handle only 128KB [1] files and pages, can" +"\n" +"operate significantly faster:" +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:71 +msgid "" +"The difference in network load and latency is significant - this is\n" +"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" +"messages - rather than the earlier wrap/unwrap request (that bundles a\n" +"DataMessage with a DeliveryStatusMessage to provide guaranteed delivery)," +" the\n" +"MinWWW proxy deals with resends (if necessary - in I2PTunnel today, there" +" are no\n" +"resends)." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:83 +msgid "" +"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" +"response, and sends a reply to the MinWWW proxy containing the response,\n" +"prefixed with the original request ID. That response is taken and passed" +" back\n" +"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" +"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" +"files (aka no one is going to be downloading porn, warez, etc)." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:101 +msgid "" +"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" +"request, one for the response), instead of 10." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:113 +msgid "" +"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" +"If someone were to implement this, it would be Good :)" +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:122 +msgid "" +"[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" +"so perhaps it could be increased to 256KB when the I2CP spec is updated)" +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:4 +msgid "" +"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 cache\n" +"of it. It isn't pretty, but it includes the basic overview and some " +"discussion\n" +"that ensued." +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:12 +#, python-format +msgid "" +"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" +"plan 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" +"system using a reduced and secured subset of \n" +"bbcode to " +"essentially\n" +"provide an anonymous LiveJournal with\n" +"a 'friends list' and transparent access control (authenticated by the I2P" +"\n" +"datagrams with rules defined based on the " +"address book)." +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:29 +msgid "" +"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" +"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 "" +"The list was gathered using the following command in the top directory of" +" the branch i2p.i2p:" +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" +"Monotone website for information\n" +"on monotone.\n" +"See\n" +"this forum post on i2p " +"monotone\n" +"for more information on how to get started and check out the source " +"anonymously.\n" +"There is also a quick-start guide on the\n" +"new developer's page." +msgstr "" + +#: i2p2www/pages/site/misc/transition-guide.html:16 +msgid "" +"If you want to get the source non-anonymously, pull from the public " +"server mtn.welterde.de.\n" +"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" +"has gone AWOL,\n" +"we do not have his update signing key or access to\n" +"www.i2p[.net] or dev.i2p[.net].\n" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:17 +msgid "" +"Make the following configuration changes and your router will " +"automatically install\n" +"the latest release." +msgstr "" + +#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:22 +#, python-format +msgid "" +"We recommend the automated process as it will verify the key of the " +"signed update file.\n" +"If you do not make these changes,\n" +"you may manually download the i2pupdate.zip file from\n" +"the download page." +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 "" +"Select ONE of the following new Update URLs at random and enter it into " +"the Update URL box: " +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" +"either by setting your update policy to \"download and install\" or by " +"clicking on the\n" +"\"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" +"posted and signed here.\n" +"Thank you for your support during this transition. For help please " +"contact us on #i2p." msgstr "" #: i2p2www/pages/site/research/index.html:2 @@ -2594,16 +27275,30 @@ msgid "Academic Research" msgstr "" #: i2p2www/pages/site/research/index.html:4 -msgid "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." +msgid "" +"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." msgstr "" #: i2p2www/pages/site/research/index.html:8 -msgid "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 i2p.vmCommSystem=true to the router.config before starting." +msgid "" +"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 " +"i2p.vmCommSystem=true to the router.config before starting." msgstr "" #: i2p2www/pages/site/research/index.html:12 #, python-format -msgid "If you are planning on conducting research on the live I2P network, please contact us 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." +msgid "" +"If you are planning on conducting research on the live I2P network, " +"please contact us 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." msgstr "" #: i2p2www/pages/site/research/index.html:16 @@ -2612,23 +27307,15 @@ msgstr "" #: i2p2www/pages/site/research/index.html:18 #, python-format -msgid "A list of known published papers about I2P is available here." -msgstr "" - -#: i2p2www/pages/site/research/papers.html:2 -#: i2p2www/pages/site/research/papers.html:4 -msgid "Papers on I2P" +msgid "" +"A list of known published papers about I2P is available here." msgstr "" #: i2p2www/pages/site/research/papers.html:6 msgid "Following are links to research papers about I2P." msgstr "" -#: 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/research/papers.html:12 msgid "Newest links are at the top of the page." msgstr "" diff --git a/i2p2www/translations/es/LC_MESSAGES/messages.po b/i2p2www/translations/es/LC_MESSAGES/messages.po index d893db61..a0b6dc36 100644 --- a/i2p2www/translations/es/LC_MESSAGES/messages.po +++ b/i2p2www/translations/es/LC_MESSAGES/messages.po @@ -1,27 +1,247 @@ -# Spanish translations for I2P website. -# Copyright (C) 2013 I2P +# Spanish translations for I2P. +# Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the I2P project. # # Translators: -# trolly, 2013. -# Adolfo Jayme Barrientos , 2013. -# m1xxy , 2011. +# Adolfo Jayme , 2013 +# m1xxy , 2011 +# strel , 2013 +# trolly, 2013 +# trolly , 2013 msgid "" msgstr "" -"Project-Id-Version: I2P website\n" +"Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-02-06 20:57+0000\n" -"PO-Revision-Date: 2013-02-24 18:45+0000\n" -"Last-Translator: trolly\n" +"POT-Creation-Date: 2013-02-22 13:25+0000\n" +"PO-Revision-Date: 2013-06-03 10:50+0000\n" +"Last-Translator: trolly \n" "Language-Team: Spanish " "(http://www.transifex.com/projects/p/I2P/language/es/)\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -"X-Generator: Poedit 1.5.3\n" + +#: 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 +msgid "Files are available on the `download page`_." +msgstr "Los archivos están disponibles en la `página de descargas`_." + +#: 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 +msgid "`download page`" +msgstr "`página de descargas`" + +#: 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 +msgid "RELEASE DETAILS" +msgstr "DETALLES DEL LANZAMIENTO" + +#: 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 "Cambios mas importantes" + +#: 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 +msgid "Bug Fixes" +msgstr "Correcciones de errores" + +#: 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 +msgid "Other" +msgstr "Otro" + +#: 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 +msgid "SHA256 Checksums:" +msgstr "Sumas de comprobación SHA256:" + +#: 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 "" +"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." +msgstr "" +"0.9.2 incluye muchos cambios de bajo nivel para la mejora y eficiencia " +"del ruter. Hemos actualizado la librería UPnP, para hacer que UPnP " +"funcione para mas gente. I2PSnark ahora soporta DHT, pero no está activo " +"por defecto, ya que tenemos planeado hacer más pruebas durante la el " +"próximo ciclo de desarrollo de 0.9.3" + +#: 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." +msgstr "" +"Como es habitual, hay muchos cambios y arreglos en esta versión, " +"recomendamos actualizar." + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26 +msgid "" +"SSU: Fix several problems in our UDP transport, to improve efficiency and" +" reliability for connection setup. Also improve defenses against various " +"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 "" +"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." +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 "" +"Fix various issues affecting memory usage and performance on high-" +"bandwidth routers" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35 +msgid "Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36 +msgid "Fix i2psnark bug that prevented a completion announcement to the tracker" +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 +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" @@ -38,33 +258,15 @@ msgid "" "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 incluye muchos arreglos de bajo nivel en la cola de mensajes en el ruter. Hemos implementado el algoritmo CoDel Active Queue Management (AQM). También hemos unificado los mecanismos de prioridades y colas en los transportes para ayudar al diagnóstico y reducir la latencia de la red. El trabajo continua arreglando el transporte UDP haciendolo mas resistente a los ataques. Hay mas cambios para mejorar el rendimiento del ruter y reducir el uso de memoria. Además, hemos habilitado por defecto el suporte, introducido en la versión anterior, para DHT en i2psnark." - -#: 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." msgstr "" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26 -msgid "Files are available on the `download page`_." -msgstr "Los archivos están disponibles en la `página de descargas`_." - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30 -msgid "`download page`" -msgstr "`página de descargas`" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32 -msgid "RELEASE DETAILS" -msgstr "DETALLES DEL LANZAMIENTO" - -#: 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 "Cambios mayores" +"0.9.3 incluye muchos arreglos de bajo nivel en la cola de mensajes en el " +"ruter. Hemos implementado el algoritmo CoDel Active Queue Management " +"(AQM). También hemos unificado los mecanismos de prioridades y colas en " +"los transportes para ayudar al diagnóstico y reducir la latencia de la " +"red. El trabajo continua arreglando el transporte UDP haciéndolo mas " +"resistente a los ataques. Hay mas cambios para mejorar el rendimiento del" +" ruter y reducir el uso de memoria. Además, hemos habilitado por defecto " +"el suporte, introducido en la versión anterior, para DHT en i2psnark." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26 msgid "Active Queue Management" @@ -72,16 +274,11 @@ msgstr "Gestión de cola activa" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27 msgid "Priority queues" -msgstr "" +msgstr "Listas de prioridades." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28 msgid "I2PSnark DHT: Several bug fixes, enable by default." -msgstr "" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39 -msgid "Bug Fixes" -msgstr "Correcciones de errores" +msgstr "DHT de I2PSnark: Solución de varios errores, activo por defecto." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32 msgid "" @@ -89,19 +286,21 @@ msgid "" "behind firewalls that change UDP ports; additional defenses for malicious" " packets." msgstr "" +"Varios arreglos en el SSU incluyendo la fuga de memoria, y mejor manejo " +"de de los ruters detrás de cortafuegos que han cambiado sus puertos UDP; " +"defensa extra contra paquetes maliciosos." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33 msgid "Fix piece selection (rarest-first) bugs in i2psnark" msgstr "" +"Solucionar fallos en la selección de porciones (las más raras primero) en" +" i2psnark" #: 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:36 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51 -msgid "Other" -msgstr "Otro" +"Arreglo del error que causaba que se abriesen varios navegadores al " +"iniciar." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38 msgid "Improvements in caching" @@ -110,10 +309,12 @@ msgstr "Mejoras en almacenamiento en caché" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39 msgid "Several synchronization fixes and lock contention reduction" msgstr "" +"Varios arreglos en la sincronización y reducción de la contención del " +"bloqueo" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40 msgid "Major reduction in SSU buffers memory use" -msgstr "" +msgstr "Gran reducción en el uso de buffers de memoria en SSU" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41 msgid "" @@ -121,44 +322,51 @@ msgid "" "changed to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was" " unlimited" msgstr "" +"Revertir tiempo máximo de respuesta de la conexión a 1 minuto, fue " +"cambiado inadvertidamente a 5 minutos; establecer el tiempo máximo de " +"lectura del servidor i2ptunnel, era ilimitado." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42 msgid "Improved defenses in i2ptunnel for \"darkloris\"" -msgstr "" +msgstr "Defensas mejoradas en i2ptunnel para \"darkloris\"" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43 msgid "More validation at torrent creation in i2psnark" -msgstr "" +msgstr "Más verificación a la creación del torrent en i2psnark" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44 msgid "Several parameter changes in SSU to improve throughput" -msgstr "" +msgstr "Varios cambios de parámetro en SSU para mejorar el rendimiento" #: 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 "" +"Nuevo registro de eventos para eventos principales incluyendo reinicios; " +"muestra múltiples líneas de reinicio en los gráficos." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46 msgid "Remove duplicate messages from logs" -msgstr "" +msgstr "Eliminar mensajes duplicados de los registros" #: 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 "" +"No responder a conexiones de flujos multimedia (streaming) bloqueadas con" +" un restablecimiento, simplemente desistir." #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48 msgid "Remove all uses of inefficient SimpleTimer" -msgstr "" +msgstr "Eliminar todos los usos del inficiente SimpleTimer" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49 msgid "More checks for valid IPs and ports entered in console" -msgstr "" +msgstr "Más verificaciones de IPs y puertos válidos introducidos en la consola" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50 msgid "Fix bug that wasted a lot of entropy" -msgstr "" +msgstr "Solucionar fallo que desperdiciaba mucha entropía" #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51 msgid "Translation updates: Italian, Portuguese, Spanish, Swedish" @@ -168,16 +376,6 @@ msgstr "Actualizaciones de traducciones: italiano, portugués, español y sueco" msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5" msgstr "" -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63 -msgid "Update GeoIP data (new installs and PPA only)" -msgstr "" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67 -msgid "SHA256 Checksums:" -msgstr "Sumas de comprobación SHA256:" - #: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2 msgid "0.9.4 Release" msgstr "Versión 0.9.4" @@ -189,7 +387,11 @@ msgid "" "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." -msgstr "0.9.4 incluye un arreglo de la capacidad de la red, inrtoducido en 0.9.2, que estaba reduciendo el rendimiento y estabilidad de la red. Además incluye cambios en el sistema de actualización de la red, y añade la capacidad de actualizar a trevés de torrents de dentro de la red I2P." +msgstr "" +"0.9.4 incluye un arreglo de la capacidad de la red, introducido en 0.9.2," +" que estaba reduciendo el rendimiento y estabilidad de la red. Además " +"incluye cambios en el sistema de actualización de la red, y añade la " +"capacidad de actualizar a través de torrents de dentro de la red I2P." #: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13 msgid "" @@ -612,6 +814,9 @@ msgid "" "href=\"%(browserconfig)s\">browser proxy setup page for an easy " "howto." msgstr "" +"Si desea navegar a una eepsite desde su navegador eche un vistazo a la " +"web configuración del proxy del " +"navegador para ver un tutorial sencillo." #: i2p2www/pages/downloads/list.html:2 i2p2www/pages/downloads/select.html:12 #: i2p2www/pages/global/nav.html:3 @@ -628,7 +833,6 @@ msgstr "Dependencias" #: i2p2www/pages/downloads/list.html:7 #, python-format -#, fuzzy msgid "" "\n" "Java Runtime 1.5 or higher.\n" @@ -643,14 +847,12 @@ msgid "" "or type java -version at your command prompt.\n" msgstr "" "\n" -"Java Runtime 1.5 o mayor.\n" -"(Oracle/Sun Java Version 6,\n" -"OpenJDK 6, o\n" -"IcedTea6\n" -" recomendado)\n" -"
\n" -"Averigua tu versión de java aquí\n" -"or type java -version at your command prompt.\n" +"Java Runtime 1.5 o mayor. (Oracle/Sun Java " +"Version 6, OpenJDK 6, o IcedTea6 recomendado)
a " +"href=\\\"http://java.com/en/download/installed.jsp?detect=jre&try=1\\\">Averigua" +" tu versión de java aquí\n" +" o escriba java -version en la terminal.\n" #: i2p2www/pages/downloads/list.html:20 msgid "Clean installs" @@ -669,8 +871,9 @@ msgid "" " You may be able to right-click and select\n" " "Open with Java"." msgstr "" -"Descargue el archivo y pulse doble click sobre él (si funciona) o\n" -" escriba java -jar i2pinstall_0.9.4-1_osx.jar en una terminal para ejecutar \n" +"Descargue el archivo y pulse dos veces sobre él (si funciona) o\n" +" escriba java -jar i2pinstall_0.9.4-1_osx.jar en una " +"terminal para ejecutar \n" " el instalador.\n" " Debería poder pulsar botón derecho sobre el archivo y seleccionar\n" " "Abrir con Java"." @@ -682,8 +885,10 @@ msgid "" " will NOT work on OS X. Use the fixed 0.9.4-1 OSX installer " "above." msgstr "" -"Debido al wrapper bug, el instaldor de 0.9.4 \n" -" NO funcionará en OS X. Use el instalador 0.9.4-1 OSX ya arreglado." +"Debido a un error en el wrapper, el " +"instalador de 0.9.4 \n" +" NO funcionará en OS X. Use el instalador 0.9.4-1OSX ya " +"arreglado." #: i2p2www/pages/downloads/list.html:65 i2p2www/pages/downloads/list.html:92 msgid "Command line (headless) install:" @@ -695,8 +900,8 @@ msgid "" " run java -jar i2pinstall_0.9.4-1_osx.jar -console from " "the command line." msgstr "" -"Descargue el instaldor gráfico 0.9.4-1 OSX y\n" -" ejecute java -jar i2pinstall_0.9.4-1_osx.jar -console en la terminal." +"Descargue el instalador gráfico 0.9.4-1 OSX y ejecute java -jar " +"i2pinstall_0.9.4-1_osx.jar -console en la terminal." #: i2p2www/pages/downloads/list.html:84 #, python-format @@ -708,10 +913,12 @@ msgid "" " On some platforms you may be able to right-click and select\n" " "Open with Java"." msgstr "" -"Descargue el archivo y pulse doble click sobre él (si funciona) o\n" -" escriba java -jar i2pinstall_%(i2pversion)s.jar en una terminal para ejecutar\n" +"Descargue el archivo y pulse dos veces sobre él (si funciona) o\n" +" escriba java -jar i2pinstall_%(i2pversion)s.jar en una " +"terminal para ejecutar\n" " el instalador.\n" -" En algunos sistemas debería poder pulsar botón derecho sobre el archivo y seleccionar\n" +" En algunos sistemas debería poder pulsar botón derecho sobre el " +"archivo y seleccionar\n" " "Abrir con Java"." #: i2p2www/pages/downloads/list.html:93 @@ -721,12 +928,12 @@ msgid "" " run java -jar i2pinstall_%(i2pversion)s.jar -console " "from the command line." msgstr "" -"Descargue el instaldor gráfico y \n" -" ejecute java -jar i2pinstall_%(i2pversion)s.jar -console en una terminal." +"Descargue el instalador gráfico y ejecute java -jar " +"i2pinstall_%(i2pversion)s.jar -console en una terminal." #: i2p2www/pages/downloads/list.html:103 msgid "Packages for Debian & Ubuntu are available." -msgstr "Hay disponibles paquetes para debian & Ubuntu." +msgstr "Hay disponibles paquetes para Debian & Ubuntu." #: i2p2www/pages/downloads/list.html:118 #, python-format @@ -737,10 +944,10 @@ msgid "" " sponge's eepsite -\n" " scan or click the QR code." msgstr "" -"La versión de I2P para android está actualmente desarrollandóse activamente.\n" -" Los última versión compilada es 0.9.3-5_b2-API8, y está disponible en\n" -" la eepsite de Sponge -\n" -" Scanee o pulse sobre el código QR." +"La versión de I2P para Android está actualmente desarrollándose " +"activamente. La última versión compilada es 0.9.3-5_b2-API8, y está " +"disponible en la eepsite de Sponge - " +"Escanee o pulse sobre el código QR." #: i2p2www/pages/downloads/list.html:125 msgid "" @@ -749,8 +956,10 @@ msgid "" "installing\n" " the other." msgstr "" -"Las versiones 'release' y en desarrollo del paquete APK de I2P no son compatibles, \n" -" ya que están firmadas por zzz y sponge respectivamente. Desinstale una antes de \n" +"Las versiones 'release' y en desarrollo del paquete APK de I2P no son " +"compatibles, \n" +" ya que están firmadas por zzz y sponge respectivamente. Desinstale " +"una antes de \n" " instalar la otra." #: i2p2www/pages/downloads/list.html:135 @@ -767,10 +976,11 @@ msgid "" "i2p-%(i2pversion)s ; ant pkg)
then either\n" " run the GUI installer or headless install as above." msgstr "" -"También puede obtener el cúdigo fuente de monotone.\n" -"
\n" -" Ejecute (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd i2p-%(i2pversion)s ; ant pkg) y entonces\n" -" ejecute el instalador gráfico o el instalador 'headless'." +"También puede obtener el código fuente de monotone.\n" +"
Ejecute (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " +"i2p-%(i2pversion)s ; ant pkg) y entonces ejecute el instalador " +"gráfico o el instalador 'headless'." #: i2p2www/pages/downloads/list.html:156 #, python-format @@ -778,15 +988,18 @@ msgid "" "The files are signed by zzz,\n" "whose key is here." msgstr "" -"Estos archivos están firmados por zzz,\n" -"cuya clave está aquí." +"Estos archivos están firmados por zzz, cuya " +"clave está aquí." #: i2p2www/pages/downloads/list.html:161 msgid "" "I2P can also be downloaded from our project pages on Launchpad and Google Code." -msgstr "I2P también puede ser descargado de la web de nuestro proyecto en Launchpad y en Google Code." +msgstr "" +"I2P también puede ser descargado de la web de nuestro proyecto en Launchpad y en Google Code." #: i2p2www/pages/downloads/list.html:167 msgid "" @@ -796,8 +1009,10 @@ msgid "" "href=\"http://localhost:7657/index.jsp\">router console,\n" "which has further instructions." msgstr "" -"Después de ejecutar el instalador en Windows simplemente pulse en el botón \"Start I2P\" \n" -"lo cual abrirá laconsola del ruter,\n" +"Después de ejecutar el instalador en Windows simplemente pulse en el " +"botón \"Start I2P\" \n" +"lo cual abrirá laconsola del " +"ruter,\n" "donde encontrará mas instrucciones." #: i2p2www/pages/downloads/list.html:173 @@ -816,13 +1031,18 @@ msgid "" " is not supported,\n" "start the router with \"sh runplain.sh\" instead." msgstr "" -"En los sistemas basados en unix I2P puede ser ejecutado como un servicio\n" -"usando el script \"i2prouter\" localizado en la carpeta seleccionada para I2P.\n" -"Entrando a esa carpeta en al terminal y ejecutando \"sh i2prouter status\"\n" -"debería mostrar el estado del ruter. Los argumentos \"start\", \"stop\" y \"restart\"\n" -"controlan el servicio. A la consola del ruter\n" +"En los sistemas basados en Unix I2P puede ser ejecutado como un servicio\n" +"usando el script \"i2prouter\" localizado en la carpeta seleccionada para" +" I2P.\n" +"Entrando a esa carpeta en al terminal y ejecutando \"sh i2prouter " +"status\"\n" +"debería mostrar el estado del ruter. Los argumentos \"start\", \"stop\" y" +" \"restart\"\n" +"controlan el servicio. A la consola del ruter\n" "puede accederse en la localización usual.\n" -"Para usuarios de Opensolaris y otros sistemas donde el 'wrapper' (i2psvc) no está soportado,\n" +"Para usuarios de Opensolaris y otros sistemas donde el 'wrapper' (i2psvc)" +" no está soportado,\n" "ejecute el ruter con \"sh runplain.sh\"." #: i2p2www/pages/downloads/list.html:184 @@ -836,11 +1056,14 @@ msgid "" "inbound TCP on the\n" "configuration page." msgstr "" -"Cuando instale I2P por primera vez, por favor recuerde ajustar su NAT/firewall\n" +"Cuando instale I2P por primera vez, por favor recuerde ajustar su " +"NAT/cortafuegos\n" "si puede, sin olvidarse de los puertos que I2P abre a Internet,\n" "descritos aquí.\n" -"Si ha abierto con éxito el puerto TCP de entrada en su NAT/firewall, abra también el puerto TCP de \n" -"entrada en la página de configuración." +"Si ha abierto con éxito el puerto TCP de entrada en su NAT/cortafuegos, " +"abra también el puerto TCP de \n" +"entrada en la página de " +"configuración." #: i2p2www/pages/downloads/list.html:192 msgid "" @@ -848,9 +1071,12 @@ msgid "" "configuration page,\n" "as the default settings of 96 KBps down / 40 KBps up are fairly slow." msgstr "" -"Además, por favor revise y ajuste su configuración de ancho de banda en la \n" -"página de configuración,\n" -"ya que la configuración por defecto de 96 KBps de descarga / 40 KBps de subida es \n" +"Además, por favor revise y ajuste su configuración de ancho de " +"banda en la \n" +"página de configuración," +"\n" +"ya que la configuración por defecto de 96 KBps de descarga / 40 KBps de " +"subida es \n" "bastante lenta." #: i2p2www/pages/downloads/list.html:202 @@ -872,9 +1098,9 @@ msgid "" " router console\n" "when it appears." msgstr "" -"Si estas usando 0.7.5 o posterior su ruter debería detectar la nueva \n" -"versión. Para actualizar simplemente pulse en el botón 'Descargar actualización' en la consola\n" -"cuando aparezca." +"Si esta usando 0.7.5 o posterior su ruter debería detectar las nuevas \n" +"versiones automáticamente. Para actualizar, cuando aparezca el botón " +"'Descargar actualización' en la consola, simplemente púlselo." #: i2p2www/pages/downloads/list.html:217 msgid "" @@ -885,10 +1111,11 @@ msgid "" "error,\n" "and should use the manual update method below." msgstr "" -"Debido a un fallo en la versión 0.7.6, aquellos en los cuales su primera instalación \n" -"es esta versión y no han actualizado manualmente\n" -"pueden obtener el error \"downloaded version is not greater than current version\",\n" -"y deben usar la actualización manual de abajo." +"Debido a un fallo en la versión 0.7.6, aquellos en los cuales su primera " +"instalación \n" +"es esta versión y no han actualizado manualmente pueden obtener el error " +"\"downloaded version is not greater than current version\", y deben usar " +"la actualización manual de abajo." #: i2p2www/pages/downloads/list.html:225 #, python-format @@ -899,10 +1126,10 @@ msgid "" "automatically\n" "receive the release." msgstr "" -"Si utiliza la version 0.7.4 o anterior, por favor lea\n" -"the 0.7.5 release notes\n" -"para obtener información importante de como configurar el ruter para descargar \n" -"las actualizaciones automáticamente." +"Si utiliza la versión 0.7.4 o anterior, por favor lea las notas de la versión 0.7.5 para obtener " +"información importante de como configurar el ruter para descargar las " +"actualizaciones automáticamente." #: i2p2www/pages/downloads/list.html:233 #, python-format @@ -913,10 +1140,10 @@ msgid "" "automatically\n" "receive the release." msgstr "" -"Si utiliza la version 0.6.1.30 o anterior, por favor lea\n" -"instruccioness\n" -"para obtener información importante de como configurar el ruter para descargar \n" -"las actualizaciones automáticamente." +"Si utiliza la versión 0.6.1.30 o anterior, por favor lea instrucciones\n" +"para obtener ver información importante de como configurar el ruter para " +"descargar las actualizaciones automáticamente." #: i2p2www/pages/downloads/list.html:242 #, python-format @@ -929,13 +1156,15 @@ msgid "" " you to download and install the new release by just clicking on that\n" " link." msgstr "" -"Si ha reconfigurado su ruter siguendo las instrucciones, debería ver un enlace en su \n" -" consola del ruter permitiendole\n" -" descargar e instalar la nueva versión pulsando en ese link." +"Si ha reconfigurado su ruter siguiendo las instrucciones, debería ver un enlace en su " +"consola del ruter " +"permitiéndole descargar e instalar la nueva versión pulsando en ese " +"enlace." #: i2p2www/pages/downloads/list.html:250 msgid "Alternately, you can use the manual method specified below." -msgstr "De otra forma, puede usar el método manual especificado debajo." +msgstr "De otra forma puede usar el método manual especificado mas abajo." #: i2p2www/pages/downloads/list.html:260 msgid "Manual updates" @@ -951,14 +1180,17 @@ msgid "" " \n" " NOT need to unzip that file." msgstr "" -"Descargue el archivo en su \b carpeta de instalción de I2P y renómblelo como i2pupdate.zip.\n" -" (alternativamente, puede obtener el código como arriba ejecutando \"ant updater\", y \n" -" entonces copiar el archivo resultante i2pupdate.zip a la carpeta de instalción de I2P). \n" -" No necesita descomprimir este archivo .zip." +"Descargue el archivo en su carpeta de instalación de I2P y renómbrelo " +"como i2pupdate.zip. (alternativamente, puede obtener el código al " +"igual que arriba y ejecutar \"ant updater\", y entonces copiar el " +"archivo resultante i2pupdate.zip a la carpeta de instalación de I2P). NO" +" necesita descomprimir este archivo .zip." #: i2p2www/pages/downloads/list.html:281 msgid "Click \"Restart\"" -msgstr "Pulse \"Restart\"" +msgstr "" +"Pulse \"Reiniciar\"" #: i2p2www/pages/downloads/list.html:286 msgid "Grab a cup of coffee and come back in 11 minutes" @@ -987,8 +1219,9 @@ msgid "" "and within the I2P network on %(echelon)s." msgstr "" -"Versiones anteriores disponibles en Google Code\n" -"y Launchpad\n" +"Versiones anteriores están disponibles en Google " +"Code y Launchpad\n" "y dentro de la red I2P en %(echelon)s." #: i2p2www/pages/downloads/select.html:2 i2p2www/pages/downloads/select.html:4 @@ -1001,7 +1234,7 @@ msgstr "" #: i2p2www/pages/downloads/select.html:10 msgid "Any mirror" -msgstr "" +msgstr "Cualquier mirror" #: i2p2www/pages/global/bounty.html:19 msgid "" @@ -1070,7 +1303,7 @@ msgstr "" #: i2p2www/pages/global/footer.html:27 msgid "USA" -msgstr "" +msgstr "EEUU" #: i2p2www/pages/global/footer.html:31 #: i2p2www/pages/site/get-involved/donate.html:2 @@ -1089,7 +1322,7 @@ msgstr "" #: i2p2www/pages/global/layout.html:31 i2p2www/pages/site/index.html:3 #: i2p2www/pages/site/about/intro.html:4 msgid "The Invisible Internet Project" -msgstr "" +msgstr "El proyecto de Internet Invisible" #: i2p2www/pages/global/layout.html:55 #, python-format @@ -1122,7 +1355,7 @@ msgstr "Comparaciones" #: i2p2www/pages/global/nav.html:9 msgid "Overview of comparisons" -msgstr "" +msgstr "Vista rápida de comparaciones" #: i2p2www/pages/global/nav.html:13 msgid "Other anonymous networks" @@ -1142,9 +1375,8 @@ msgid "How does it work?" msgstr "¿Cómo funciona?" #: i2p2www/pages/global/nav.html:21 -#, fuzzy msgid "Gentle intro" -msgstr "Una Introducción Sencilla" +msgstr "Una introducción simple" #: i2p2www/pages/global/nav.html:22 msgid "Tech intro" @@ -1165,7 +1397,7 @@ msgstr "Base de datos de la red" #: i2p2www/pages/global/nav.html:26 msgid "Tunnel routing" -msgstr "Ruteado de red" +msgstr "Enrutamiento de túneles" #: i2p2www/pages/global/nav.html:27 #: i2p2www/pages/site/docs/tunnels/unidirectional.html:21 @@ -1208,7 +1440,7 @@ msgstr "Librería de transmisión" #: i2p2www/pages/global/nav.html:47 msgid "Ministreaming library" -msgstr "" +msgstr "Librería de minitransmisión" #: i2p2www/pages/global/nav.html:48 i2p2www/pages/global/nav.html:71 #: i2p2www/pages/site/docs/index.html:87 @@ -1286,7 +1518,7 @@ msgstr "Túneles unidireccionales" #: i2p2www/pages/global/nav.html:86 msgid "Old implementation" -msgstr "Implementacion antigua" +msgstr "Implementación antigua" #: i2p2www/pages/global/nav.html:89 msgid "Naming and addressbook" @@ -1302,7 +1534,7 @@ msgstr "Blog" #: i2p2www/pages/global/nav.html:95 msgid "Hall of Fame" -msgstr "Podium" +msgstr "Pódium" #: i2p2www/pages/global/nav.html:96 msgid "Academic papers and peer review" @@ -1433,11 +1665,11 @@ msgstr "Idioma" #: i2p2www/pages/meetings/index.html:4 msgid "I2P Meetings ATOM Feed" -msgstr "" +msgstr "ATOM feed de reuniones de I2P" #: i2p2www/pages/meetings/index.html:7 msgid "Logs of past I2P meetings" -msgstr "Logs de las reuniones de I2P pasadas " +msgstr "Registros de las reuniones pasadas de I2P" #: i2p2www/pages/meetings/index.html:9 #, python-format @@ -1447,13 +1679,13 @@ msgid "" "Status updates from developers are also " "available." msgstr "" -"Por favor, si tienes algo que discutir busca a los desarrolladores en #i2p-dev en el IRC.\n" -"Las Actualizaciones del estado de los desarrolladores están\n" -" también disponibles." +"Por favor, si tienes algo que discutir busque a los desarrolladores en " +"#i2p-dev en el IRC. Las actualizaciones del " +"estado de los desarrolladores están también disponibles." #: i2p2www/pages/site/contact.html:2 msgid "Contact" -msgstr "" +msgstr "Contacto" #: i2p2www/pages/site/contact.html:5 msgid "" @@ -1466,26 +1698,34 @@ msgid "" " All I2P-related channels on all these network are linked to the main " "channels on Irc2P via relay bots." msgstr "" +"Nuestra red IRC principal es la red Irc2P dentro de I2P; tras la " +"instalación inicial de I2P ya hay creado por defecto un túnel a esta red." +" Estamos presentes también en múltiples redes como OFTC, EIN y Freenode. Todos los canales " +"relacionados con I2P en esas redes están unidos a los canales principales" +" de Irc2P a través de 'relay bots'." #: i2p2www/pages/site/contact.html:13 msgid "Channel list:" -msgstr "" +msgstr "Lista de Canales:" #: i2p2www/pages/site/contact.html:15 msgid "General i2p discussion" -msgstr "" +msgstr "Discusión general sobre I2P" #: i2p2www/pages/site/contact.html:16 msgid "Offtopic" -msgstr "" +msgstr "Offtopic" #: i2p2www/pages/site/contact.html:17 msgid "Development talk" -msgstr "" +msgstr "Charla sobre el desarrollo" #: i2p2www/pages/site/contact.html:18 msgid "Help channel" -msgstr "" +msgstr "Canal de ayuda" #: i2p2www/pages/site/contact.html:23 #, python-format @@ -1494,10 +1734,13 @@ msgid "" "href=\"http://%(zzz)s\">I2P developer forum. This is usually the best" " place to start with inquiries, if the dev IRC channel is inactive." msgstr "" +"La mayoría de discusiones sobre el desarrollo de I2P ocurre en el foro de desarrollo de I2P. Este es " +"normalmente el mejor lugar para preguntar, si el canal IRC está inactivo." #: i2p2www/pages/site/contact.html:27 msgid "Mailing lists" -msgstr "" +msgstr "Listas de email" #: i2p2www/pages/site/contact.html:28 msgid "" @@ -1505,10 +1748,13 @@ msgid "" "team of developers prefer to communicate via IRC or the developer forum. " "This may change in future." msgstr "" +"I2P tiene un 'mailing list' , pero raramente se usa ya que el pequeño " +"grupo de desarrolladores prefiere comunicarse vía IRC o en el foro. Esto " +"podría cambiar en el futuro." #: i2p2www/pages/site/contact.html:33 msgid "Subscribing" -msgstr "" +msgstr "Subscripción" #: i2p2www/pages/site/contact.html:34 msgid "" @@ -1516,10 +1762,13 @@ msgid "" "below) and fill out the form. I2P-internal email addresses " "(foobar@mail.i2p) can be used." msgstr "" +"Para subscribiese al mailing list, vaya a la página de información de la " +"lista (enlazada debajo) y rellene el formulario. Puede usar la dirección " +"interna de email de I2P (foobar@mail.i2p)." #: i2p2www/pages/site/contact.html:38 msgid "Unsubscribing" -msgstr "" +msgstr "Darse de baja" #: i2p2www/pages/site/contact.html:39 msgid "" @@ -1527,202 +1776,226 @@ msgid "" "to the list information page (linked below) and enter your subscription " "email address." msgstr "" +"Para cancelar o cambiar las opciones de la subscripción a la lista de " +"mails, vaya a la página de información de la lista (enlace debajo) y " +"escriba el email de su subscripción." #: i2p2www/pages/site/contact.html:43 msgid "Lists" -msgstr "" +msgstr "Listas" #: i2p2www/pages/site/contact.html:46 msgid "Archive" -msgstr "" +msgstr "Archivo" #: i2p2www/pages/site/contact.html:47 msgid "" "General I2P discussion - anything that doesn't fit in a different list " "goes here." msgstr "" +"Discusión general sobre I2p - cualquier cosa que no encaje en otras " +"listas va aquí." #: i2p2www/pages/site/contact.html:53 msgid "" "You don't like mailing lists? Then this is for you. All mailing lists are" " available via NNTP as well." msgstr "" +"¿No te gustan las mailing lists? Entonces esto es para ti. Todas las " +"listas de mail están disponibles también por NNTP." #: i2p2www/pages/site/contact.html:58 msgid "Group-List-mapping:" -msgstr "" +msgstr "Listado de la lista de grupos:" #: i2p2www/pages/site/contact.html:62 msgid "Servers:" -msgstr "" +msgstr "Servidores:" #: i2p2www/pages/site/faq.html:2 msgid "Frequently Asked Questions" -msgstr "" +msgstr "Preguntas frecuentes" #: i2p2www/pages/site/faq.html:4 #: i2p2www/pages/site/docs/how/threat-model.html:121 msgid "Index" -msgstr "" +msgstr "Índice" #: i2p2www/pages/site/faq.html:7 msgid "General" -msgstr "" +msgstr "General" #: i2p2www/pages/site/faq.html:9 i2p2www/pages/site/faq.html:51 msgid "What systems will I2P run on?" -msgstr "" +msgstr "¿En qué sistemas operativos funciona I2P?" #: i2p2www/pages/site/faq.html:10 msgid "Whats an \"eepsite\" and how do I configure my browser so I can use them?" -msgstr "" +msgstr "¿Qué es una \\\"eepsite\\\" y como configuro mi navegador para usarla?" #: i2p2www/pages/site/faq.html:11 i2p2www/pages/site/faq.html:263 msgid "My router has very few active peers, is this OK?" -msgstr "" +msgstr "Mi ruter tiene muy pocos pares activos, ¿Eso está bien?" #: 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 "" +msgstr "¿Qué significa los números Activos x/y en la consola del ruter?" #: 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?" msgstr "" +"¡Mis pares pares / pares conocidos / túneles participantes / conexiones /" +" ancho de banda varían dramáticamente a lo largo del tiempo! ¿Algo está " +"mal?" #: i2p2www/pages/site/faq.html:14 i2p2www/pages/site/faq.html:348 msgid "Is using an outproxy safe?" -msgstr "" +msgstr "¿Es seguro usar un outproxy (proxy de salida)?" #: i2p2www/pages/site/faq.html:15 i2p2www/pages/site/faq.html:374 msgid "Most of the eepsites within I2P are down?" -msgstr "" +msgstr "¿La mayoría de las eepsites en I2P están caídas?" #: i2p2www/pages/site/faq.html:16 i2p2www/pages/site/faq.html:527 msgid "What ports does I2P use?" -msgstr "" +msgstr "¿Qué puertos usa I2P?" #: i2p2www/pages/site/faq.html:17 msgid "Why is I2P listening for connections on port 32000?" -msgstr "" +msgstr "¿Por qué I2p tiene abierto el puerto 32000?" #: 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 "" +msgstr "Creo que he encontrado un error, ¿Dónde puedo reportarlo?" #: 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 "" +msgstr "¿Qué ha pasado con .i2p.net? ¿Qué ha pasado con jrandom? ¿I2P está muerto?" #: i2p2www/pages/site/faq.html:20 i2p2www/pages/site/faq.html:845 msgid "I have a question!" -msgstr "" +msgstr "¡Tengo una pregunta!" #: i2p2www/pages/site/faq.html:22 #: i2p2www/pages/site/docs/api/streaming.html:292 msgid "Setup" -msgstr "" +msgstr "Configuración" #: 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 "" +"Mi ruter ha estado encendido varios minutos y aún tiene ninguna o pocas " +"conexiones" #: i2p2www/pages/site/faq.html:25 i2p2www/pages/site/faq.html:390 msgid "Why is I2P so slow?" -msgstr "" +msgstr "¿Por qué es tan lento I2P?" #: i2p2www/pages/site/faq.html:26 i2p2www/pages/site/faq.html:79 msgid "" "I'm missing lots of hosts in my addressbook. What are some good " "subscription links?" msgstr "" +"Me faltan muchos dominios en mi lista de direcciones. ¿Dónde hay algunos " +"buenos enlaces de subscripciones?" #: i2p2www/pages/site/faq.html:27 i2p2www/pages/site/faq.html:383 msgid "How do I set up my own eepsite?" -msgstr "" +msgstr "¿Cómo configuro mi propia eepsite?" #: i2p2www/pages/site/faq.html:28 i2p2www/pages/site/faq.html:416 msgid "Bittorrent / I2PSnark / Azureus I2P Plugin Questions?" -msgstr "" +msgstr "¿Preguntas sobre pluguins de I2P Bittorrent / I2PSnark / Azureus?" #: i2p2www/pages/site/faq.html:29 i2p2www/pages/site/faq.html:423 msgid "How do I connect to IRC within I2P?" -msgstr "" +msgstr "¿Cómo conecto a un IRC dentro de I2P?" #: i2p2www/pages/site/faq.html:30 i2p2www/pages/site/faq.html:281 msgid "I can't access regular Internet sites through I2P." -msgstr "" +msgstr "No puedo acceder a las webs normales a través de I2P." #: i2p2www/pages/site/faq.html:31 i2p2www/pages/site/faq.html:296 msgid "I can't access https:// or ftp:// sites through I2P." -msgstr "" +msgstr "No puedo acceder a webs https:// o ftp:// a través de I2P." #: i2p2www/pages/site/faq.html:32 i2p2www/pages/site/faq.html:506 msgid "Is it possible to use I2P as a SOCKS proxy?" -msgstr "" +msgstr "¿Es posible usar I2P como un proxy SOCKS?" #: i2p2www/pages/site/faq.html:33 i2p2www/pages/site/faq.html:489 msgid "How do I configure my browser?" -msgstr "" +msgstr "¿Cómo configuro mi navegador web?" #: i2p2www/pages/site/faq.html:34 i2p2www/pages/site/faq.html:434 msgid "" "How can I access the web console from my other machines or password " "protect it?" msgstr "" +"¿Cómo puedo acceder a la consola web desde máquinas remotas y cómo lo " +"protejo con contraseña?" #: i2p2www/pages/site/faq.html:35 i2p2www/pages/site/faq.html:474 msgid "How can I use applications from my other machines?" -msgstr "" +msgstr "¿Cómo puedo usar aplicaciones desde máquinas remotas?" #: i2p2www/pages/site/faq.html:36 i2p2www/pages/site/faq.html:748 msgid "How do I reseed manually?" -msgstr "" +msgstr "¿Cómo resiembro manualmente?" #: i2p2www/pages/site/faq.html:37 i2p2www/pages/site/faq.html:124 msgid "My router is using too much CPU?!?" -msgstr "" +msgstr "¿¡ Mi ruter usa demasiada CPU !?" #: i2p2www/pages/site/faq.html:39 msgid "Misconception" -msgstr "" +msgstr "Errores comunes" #: i2p2www/pages/site/faq.html:41 i2p2www/pages/site/faq.html:366 msgid "" "How do I access IRC, BitTorrent, or other services on the regular " "Internet?" -msgstr "" +msgstr "¿Cómo accedo a IRC, Bittorrent u otros servicios en el internet normal?" #: i2p2www/pages/site/faq.html:42 msgid "" "Is my router an \"exit node\"(outproxy) to the regular Internet? I don't " "want it to be." msgstr "" +"¿Es mi ruter un \\\"nodo de salida\\\"(outproxy) al internet normal? No " +"quiero serlo." #: i2p2www/pages/site/faq.html:43 i2p2www/pages/site/faq.html:188 msgid "" "I am opposed to certain types of content. How do I keep from " "distributing, storing, or accessing them?" msgstr "" +"Estoy en contra de cierto tipo de contenido. ¿Cómo evito almacenarlo, " +"distribuirlo o acceder a él?" #: i2p2www/pages/site/faq.html:45 msgid "Errors and Their Solutions" -msgstr "" +msgstr "Errores y sus soluciones" #: 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 " "libm.so.4!" msgstr "" +"¡Utilizo FreeBSD y cuando ejecuto I2P recibo un error sobre " +"libm.so.4!" #: i2p2www/pages/site/faq.html:48 msgid "" "In wrapper.log I see an error stating Protocol family " "unavailable when I2P is loading" msgstr "" +"Cuando I2P está cargando, en wrapper.log veo un error " +"indicando Protocol family unavailable" #: i2p2www/pages/site/faq.html:52 i2p2www/pages/site/faq.html:63 #: i2p2www/pages/site/faq.html:80 i2p2www/pages/site/faq.html:108 @@ -1743,7 +2016,7 @@ msgstr "" #: i2p2www/pages/site/get-involved/todo.html:28 #: i2p2www/pages/site/get-involved/todo.html:52 msgid "link" -msgstr "" +msgstr "enlace" #: i2p2www/pages/site/faq.html:53 #, python-format @@ -1756,6 +2029,13 @@ msgid "" "href=\"http://%(trac)s/wiki/java\">http://%(trac)s/wiki/java, but in " "short: it's at all possible, use Sun/Oracle Java or OpenJDK." msgstr "" +"Aunque se sabe que I2P se ha ejecutado en un pc tan exiguo como un " +"Pentium II con 64Mb de RAM, tendrá una experiencia mucho mas gratificante" +" en un Pentium III ( o mas nuevo) con 128MB de RAM (o más). Puede " +"encontrar una tabla comparativa" +" de rendimientos de varios JREs en http://%(trac)s/wiki/java, " +"pero si es posible use Sun/Oracle Java o OpenJDK." #: i2p2www/pages/site/faq.html:57 msgid "" @@ -1763,18 +2043,23 @@ msgid "" "href=\"#compat6x\">below), OSX, and OpenSolaris. There is work " "underway to bring I2P to the Android platform." msgstr "" +"I2P ha sido probado en Linux, Windows, FreeBSD ( vea la nota de abajo), OSX y Opensolaris. Se está trabajando " +"para llevar I2P a la plataforma Android" #: i2p2www/pages/site/faq.html:65 msgid "Here are some places, pick one or more." -msgstr "" +msgstr "Aquí tienen varios lugares, elija uno o mas." #: i2p2www/pages/site/faq.html:71 msgid "Discuss with the developers on IRC in #i2p-dev" -msgstr "" +msgstr "Contacte con los desarrolladores en el canal #i2p-dev en el IRC" #: i2p2www/pages/site/faq.html:75 msgid "Please include relevant information from the router logs and wrapper logs." msgstr "" +"Por favor, incluya la información relevante de los registros del ruter y " +"del wrapper." #: i2p2www/pages/site/faq.html:81 msgid "" @@ -1784,6 +2069,9 @@ msgid "" "\"jump\" links which\n" "is annoying." msgstr "" +"La subscripción por defecto es http://www.i2p2.i2p/hosts.txt que " +"raramente se actualiza. Si no tiene otra subscripción, a menudo tendrá " +"que utilizar el servicio de \\\"salto\\\" que es poco molesto." #: i2p2www/pages/site/faq.html:87 msgid "" @@ -1807,6 +2095,19 @@ msgid "" "hosts.\n" "Presence on this list does not imply endorsement." msgstr "" +"Aquí tiene algunos enlaces públicos de subscripciones de listas de " +"direcciones. Quizás quiera añadir uno o dos a su lista de " +"subscripciones de susidns. No tiene que añadirlos todos, ya que se " +"sincronizan entre ellos periódicamente. Los enlaces que utilizan una " +"aplicación cgi-bin usan varias estrategias para minimizar el número de " +"direcciones duplicadas enviadas, por lo que deberían ser mas eficientes. " +"Dese cuenta que suscribirse a un servicio hosts.txt es de hecho un acto " +"de \\\"confianza\\\", ya que una subscripción maliciosa podría darle una " +"dirección incorrecta. Por lo que piensese bien si quiere confiar en " +"alguno de ellos. Los operadores de estos servicios podrían tener reglas " +"al listar los hosts. La presencia de estos servicios en esta lista no " +"implica aprobación por nuestra parte." #: i2p2www/pages/site/faq.html:109 msgid "" @@ -1816,6 +2117,11 @@ msgid "" "The *.i2p.net domains were left in a non-functioning state after a power\n" "outage at the hosting company." msgstr "" +"Jrandom fue el programador principal de I2P y de Syndie durante varios años. Pero " +"no sabemos si jrandom regresará o cuando. Los dominios *.i2p.net fueron " +"dejados sin funcionamiento después del corte por parte de la compañía de " +"hosting." #: i2p2www/pages/site/faq.html:117 #, python-format @@ -1824,14 +2130,17 @@ msgid "" "and additional information\n" "on the migration of *.i2p.net to this website." msgstr "" +"En asta web tiene el mensaje de despedida" +" de Jrandom e información de la migración de *.i2p.net a esta web." #: i2p2www/pages/site/faq.html:122 msgid "I2P remains in active development." -msgstr "" +msgstr "I2P está en desarrollo constante." #: i2p2www/pages/site/faq.html:126 msgid "There are many possible causes of high CPU usage. Here is a checklist:" -msgstr "" +msgstr "Hay varias razones para un uso excesivo de la CPU. Aquí tiene una lista:" #: i2p2www/pages/site/faq.html:131 msgid "" @@ -1842,6 +2151,10 @@ msgid "" "command/shell prompt. Performance tends to suffer with other " "implementations of java." msgstr "" +"Intente usar OpenJDK o Java de Sun/Oracle si está disponible en su " +"sistema. Puede ver la versión instalada en su sistema ejecutando " +"java -version en la terminal.El rendimiento tiende a sufrir " +"con otras implementaciones de java." #: i2p2www/pages/site/faq.html:138 msgid "" @@ -1849,6 +2162,9 @@ msgid "" "torrents, the bandwidth limits,\n" "or try turning it off completely to see if that helps." msgstr "" +"¿Usa Bittorrent sobre I2P? Intente reducir el número de torrents, los " +"límites de ancho de banda, o pruebe a apagarlo completamente a ver si eso" +" ayuda." #: i2p2www/pages/site/faq.html:144 msgid "" @@ -1858,12 +2174,19 @@ msgid "" "bandwidth percentage on the configuration page." msgstr "" +"¿Están los límites de ancho de banda demasiado altos? Es posible que pase" +" demasiado tráfico a través de su ruter I2P y esté saturado. Intente " +"reducir la configuración delporcentaje de ancho de banda " +"compartidor en la web de configuración." #: i2p2www/pages/site/faq.html:149 msgid "" "Make sure that you're running the latest version of I2P to get the " "benefits of increased performance and bug fixes." msgstr "" +"Asegúrese de usar la última versión de I2P para beneficiarse de las " +"mejoras de rendimiento y la solución de errores." #: i2p2www/pages/site/faq.html:154 msgid "" @@ -1874,6 +2197,12 @@ msgid "" "garbage collection. Increase the setting " "wrapper.java.maxmemory in wrapper.config." msgstr "" +"¿Tiene suficiente memoria reservada para el uso de I2P? Mire la gráfica " +"de memoria en la página de " +"gráficos para ver si el uso de memoria está \\\"pegged\\\"—la " +"máquina virtual de java pierde demasiado tiempo en la recogida de basura." +" Aumente la configuración de wrapper.java.maxmemory en " +"wrapper.config." #: i2p2www/pages/site/faq.html:161 #, python-format @@ -1893,6 +2222,11 @@ msgid "" "See the jbigi page for instructions on\n" "diagnosing, building, and testing methods." msgstr "" +"Puede que esté usando la librería BigInteger en vez de la versión nativa," +" especialmente si lo ejecuta en un sistema o hardware nuevo o inusual " +"(OpenSolaris, mipsel, etc). Visite la web de " +"jbigi que incluye instrucciones para el diagnóstico, compilado y " +"métodos de testeo." #: i2p2www/pages/site/faq.html:175 msgid "" @@ -1906,6 +2240,14 @@ msgid "" "configadvanced.jsp." msgstr "" +"Si su librería jbigi nativa funciona bien, el uso excesivo de la CPU " +"podría ser debido al tráfico enrutado de los túneles usados. Esto usa CPU" +" porque en cada salto se debe decodificar una capa del cifrado.Puede " +"limitar el tráfico usado de dos formas - reduciendo el ancho de banda " +"compartido en confignet.jsp,o " +"configurando router.maxParticipatingTunnels=nnn en configadvanced.jsp." #: i2p2www/pages/site/faq.html:190 msgid "" @@ -1917,6 +2259,11 @@ msgid "" "Freedom of speech has some costs.\n" "But let's address your question in three parts:" msgstr "" +"Umm. Es un poco difícil, pues I2P es una red anónima. I2P está diseñada " +"para evitar la censura, creando un medio para todos de comunicarse " +"libremente.La mejor forma de mantener tu PC libre de tráfico (cifrado) " +"que no desea es no usar I2P.La libertad de expresión tiene algunos " +"costes.Pero respondamos su pregunta en tres partes:" #: i2p2www/pages/site/faq.html:199 #, python-format @@ -1941,6 +2288,10 @@ msgid "" "Freenet.\n" "Nobody's content is being stored on your computer by running I2P." msgstr "" +"Almacenamiento - I2P no hace almacenamiento distribuido de " +"contenidos. Debe estar pensando en Freenet.Ningún contenido de " +"nadie está siendo almacenado en su computador por I2P." #: i2p2www/pages/site/faq.html:217 msgid "" @@ -1948,12 +2299,17 @@ msgid "" "there.\n" "Or, use a blocking proxy like Privoxy or some type of \"net nanny\"." msgstr "" +"Acceso - Si hay eepsites que no le gustan, no navegue por ellas. O" +" utilice un proxy de bloqueo como Privoxy o algún tipo de \\\"niñera de " +"red\\\"." #: i2p2www/pages/site/faq.html:227 msgid "" "No. This is normal.\n" "All routers adjust dynamically to changing network conditions and demands." msgstr "" +"No, esto es normal.Todos los rutes se ajustan dinámicamente a las " +"condiciones y necesidades de la red." #: i2p2www/pages/site/faq.html:234 msgid "" @@ -1964,6 +2320,12 @@ msgid "" "method doesn't work—or you're using a very old version—you " "may need to reseed manually." msgstr "" +"Quizás necesite resembrar su ruter I2P. Con versiones recientes de I2P " +"puede navegar a http://localhost:7657/configreseed" +" y pulsar el botón Guardar cambios y resembrar ahora. Si este " +"método no funciona—o está usando una versión muy vieja—podría" +" necesitar resembrar manualmente." #: i2p2www/pages/site/faq.html:237 msgid "" @@ -1981,6 +2343,16 @@ msgid "" "work),\n" "then click \"Apply\", then click the \"reseed\" link on the left." msgstr "" +"El enlace de resiembra cambió hace unos años. Si es su primera " +"instalación y ha instalado una versión vieja (0.6.1.30 o anterior), o no " +"ha ejecutado I2P durante mucho tiempo , debe cambiar el enlace y entonces" +" pulsar \\\"Resembrar\\\" en la consola para encontrar otros rutes. " +"Después de tener el ruter funcionando, en configadvanced.jsp," +" añada la línea i2p.reseedURL=http://netdb.i2p2.de/ o " +"i2p.reseedURL=http://i2pdb.tin0.de/netDb/ (cualquiera debería " +"funcionar), y entonces pulse en \\\"Aplicar\\\", entonces pulse el enlace" +" \\\"Resembrar\\\" a la izquierda." #: i2p2www/pages/site/faq.html:248 #, python-format @@ -1997,6 +2369,15 @@ msgid "" " click \"reseed\".\n" "Let us know if this works." msgstr "" +"Esto funciona si usa la versión 0.6.1.27 o posterior.Si usa la versión " +"0.6.1.31 o posterior probablemente no necesite esto. Si usa la versión " +"0.6.1.26 o anterior, o siga las instrucciones de resiembra manual abajo o" +" instale la última versión. Un " +"posible método alternativo - añada " +"wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/ " +"a wrapper.config, apague el ruter completamente, y arránquelo de nuevo, " +"entonces pulse \\\"Resembrar\\\". Háganos saber si esto funciona." #: i2p2www/pages/site/faq.html:259 #, python-format @@ -2004,6 +2385,8 @@ msgid "" "...but you *really* should upgrade to " "the latest version." msgstr "" +"Realmente debería actualizar a la " +"última versión..." #: i2p2www/pages/site/faq.html:265 msgid "" @@ -2016,12 +2399,21 @@ msgid "" "The best way to stay \"better-connected\" to the network is to share more bandwidth." msgstr "" +"Si su ruter tiene 10 o mas pares activos todo está bien. Los cambios en " +"las versiones 0.6.1.31 y 0.6.1.32 han mejorado la eficiencia del ruter y " +"han reducido el número de pares activos. El ruter debería tener " +"todo el tiempo conexiones con unos pocos pares. La mejor forma de estar " +"\\\"mejor-conectado\\\" a la red es compartiendo mas ancho de " +"banda" #: i2p2www/pages/site/faq.html:272 msgid "" "Is my router an \"exit node\" to the regular Internet? I don't want it to" " be." msgstr "" +"¿Es mi ruter un \\\"nodo de salida\\\" al internet normal? No quiero " +"serlo." #: i2p2www/pages/site/faq.html:274 msgid "" @@ -2032,6 +2424,11 @@ msgid "" "traffic to the regular Internet.\n" "There are very, very few of these." msgstr "" +"No. A diferencia de Tor, " +"los \\\"nodos de salida\\\" o \\\"outproxies\\\" no son una parte " +"inherente de la red. Solo los voluntarios que configuran y ejecutan " +"aplicaciones a parte reenviaran el tráfico al internet normal. Hay muy, " +"muy pocos de estos." #: i2p2www/pages/site/faq.html:283 msgid "" @@ -2052,6 +2449,17 @@ msgid "" "on the regular Internet, you should probably try Tor." msgstr "" +"Hay pocos \\\"outproxies\\\" HTTP, no son parte inherente de la red, y " +"podrían no estar encendidos. Además, los viejos outproxies squid.i2p, " +"true.i2p y krabs.i2p han desparecido. El único outproxy funcionando " +"actualmente es false.i2p. Para usarlo, edita tu configuración" +" de i2ptunnel para el eepProxy y pon tu lista de outproxy a " +"'false.i2p' (sólo). Entonces reinicia el eepProxy.\n" +"Si no funciona, el outproxy no funciona. No es un fallo de I2P. Si su " +"razón principal para usar una red nónima es acceder a webs del Internet " +"normal, debería probar Tor." #: i2p2www/pages/site/faq.html:298 msgid "" @@ -2059,6 +2467,8 @@ msgid "" "to-end.\n" "FTP is not supported for technical reasons." msgstr "" +"Dentro de I2P no hay necesidad de HTTPS, todo el tráfico está cifrado de " +"punta a punta. FTP no está soportado por razones técnicas." #: i2p2www/pages/site/faq.html:302 msgid "" @@ -2071,6 +2481,12 @@ msgid "" "The I2P community may or may not be able to help with the technical " "aspects, feel free to ask." msgstr "" +"No hay \\\"outproxies\\\" FTP hacia el Internet—pude que no sea " +"posible configurar uno. Cualquier otro tipo de outproxy debería funcionar" +" si está configurado con un túnel estándar. Si desea configurar algún " +"tipo de outproxy, investigue atentamente los posibles riesgos. La " +"comunidad I2P quizás sería capaz de ayudar con los aspectos técnicos, " +"siéntase libre en preguntar." #: i2p2www/pages/site/faq.html:308 msgid "" @@ -2079,6 +2495,9 @@ msgid "" "They are services run by individuals and they may or may not\n" "be operational at any given time." msgstr "" +"Como se ha explicado varias veces ya, cualquier outproxy existente no es " +"parte principal de la red. Son servicios controlados por algunos usuarios" +" y pueden estar funcionando, o no." #: i2p2www/pages/site/faq.html:313 msgid "" @@ -2089,18 +2508,28 @@ msgid "" "In case the https outproxy is not available in your version of I2P, you " "can add it easily by doing the following:" msgstr "" +"Actualización: Gracias al trabajo de h2ik, hay un outproxy https " +"disponible para I2P. A partir de I2P 0.8.4 el túnel " +"viene listo por defecto.
En caso de que el outproxy https no esté " +"disponible en su versión de I2P, puede añadirlo fácilmente haciendo esto:" #: i2p2www/pages/site/faq.html:319 msgid "" "Open i2p tunnel " "manager. Scroll down to the bottom." msgstr "" +"Abra el administrador de " +"túneles I2P. Vaya al final de la página." #: i2p2www/pages/site/faq.html:324 msgid "" "Choose CONNECT from New Client Tunnel dropdown list, click " "Create" msgstr "" +"Seleccione CONECTAR de la lista desplegable de Nuevo túnel " +"cliente, pulse Crear" #: i2p2www/pages/site/faq.html:329 #, python-format @@ -2119,6 +2548,15 @@ msgid "" "Other options should be left at the defaults. Click Save. In tunnel " "manger, click the Start button next to your new tunnel." msgstr "" +"En la nueva página, nombre y describa su nuevo túnel https " +"como guste. El Punto de acceso es su puerto local para el nuevo " +"proxy https, puerto recomendado 4445. El outproxy debe ser " +"la dirección .i2p del outproxy que soporta https. Lea el foro de h2ik para " +"ver la dirección. Asegúrese de que Shared Client, Delay " +"Connect y AutoStart están activados.Las demás opciones debería" +" dejarlas como están. Pulse guardar. En el administrador de túneles, " +"pulse el botón Iniciar junto al nuevo túnel." #: i2p2www/pages/site/faq.html:339 msgid "" @@ -2128,10 +2566,14 @@ msgid "" "Untick Use this proxy for all protocol, set SSL proxy: to " "localhost:4445." msgstr "" +"En Firefox pulse " +"Herramientas>Opciones>Avanzado>Red>Configuración." +" Desactive Usar el proxy para todos los protocolos, ponga en " +"proxy SSL: localhost:4445." #: i2p2www/pages/site/faq.html:344 msgid "Done." -msgstr "" +msgstr "Listo." #: i2p2www/pages/site/faq.html:350 #, python-format @@ -2142,6 +2584,11 @@ msgid "" "threat model, and how much you trust the " "outproxy operator." msgstr "" +"\n" +"Eso es un cuestión que solo usted puede responder porque la respuesta " +"correcta depende del su comportamiento, los riesgos, y cuanto confíe en el operador " +"del outproxy." #: i2p2www/pages/site/faq.html:354 msgid "" @@ -2152,6 +2599,11 @@ msgid "" " FAQ\n" "does a good job of explaining this." msgstr "" +"Al igual que Tor, I2P no cifra mágicamente Internet. Es siempre " +"vulnerable a la inspección del tráfico por parte del operador del " +"outproxy. El FAQ" +" de Tor lo explica muy bien." #: i2p2www/pages/site/faq.html:360 #, python-format @@ -2163,6 +2615,10 @@ msgid "" "There is additional discussion about this on %(zzz)s." msgstr "" +"Además puede tener problemas por la confabulación del operador del " +"outproxy y operadores de otros servicios de I2P si utiliza los mismos " +"túneles (\\\"shared clients\\\"). Hay una discusión adicional sobre esto " +"en %(zzz)s." #: i2p2www/pages/site/faq.html:368 msgid "" @@ -2173,6 +2629,11 @@ msgid "" "If this type of service is required, try Tor." msgstr "" +"A no ser se haya configurado un outproxy para el servicio al que quiere " +"conectar esto no se puede hacer. Sólo hay tres tipos de outproxies " +"funcionando ahora mismo: HTTP, HTTPS, y email. Fíjese que no hay outproxy" +" SOCKS. Si necesita este tipo de servicio pruebe Tor." #: i2p2www/pages/site/faq.html:376 #, python-format @@ -2184,12 +2645,20 @@ msgid "" " currently up.\n" "%(perv)s tracks active eepsites." msgstr "" +"Si considera todas las eepsites que se han creado, si, la mayoría no " +"funcionan. La gente y las eepsites van y vienen. Una buena forma de " +"comenzar con I2P es mirar la lista de eepsites que funcionan actualmente." +" %(perv)s informa qué " +"páginas están activas." #: i2p2www/pages/site/faq.html:385 msgid "" "Click on the Website link\n" "at the top of your router console for instructions." msgstr "" +"Pulse en el enlace a la página " +"web en la parte de arriba de las instrucciones de la consola del " +"ruter." #: i2p2www/pages/site/faq.html:392 msgid "" @@ -2199,6 +2668,9 @@ msgid "" "amount of overhead and limits bandwidth.\n" "Anonymity isn't free." msgstr "" +"¿Por qué son tan lentas las descargas, torrents y la navegación web en " +"I2P? El cifrado y ruteo de la red I2P añade bastante carga y limita el " +"ancho de banda. El anonimato no es gratis." #: i2p2www/pages/site/faq.html:397 msgid "" @@ -2213,6 +2685,14 @@ msgid "" "will increase the potential transfer rate for I2PSnark and all other " "applications." msgstr "" +"Además, probablemente necesite aumentar los límites de ancho de banda.Dos" +" configuraciones importantes son los límites de entrada y salida en la página de " +"configuración. Con la configuración por defecto de 32KBps " +"probablemente no conseguirá mas de 15KBps de transferencia en I2PSnark. " +"Aumentando estos valores (pero manteniéndolos dentro de las limitaciones " +"de su conexión) Aumentará potencialmente la velocidad de transferencia de" +" I2PSnark y otras aplicaciones." #: i2p2www/pages/site/faq.html:405 msgid "" @@ -2223,6 +2703,10 @@ msgid "" "keeps you well-integrated in the network and helps your own transfer " "speeds." msgstr "" +"Además, ¿tiene configurado suficiente ancho de banda compartido para " +"permitir a los túneles participantes enrutar a través de su ruter? lo " +"crea o no, permitir tráfico participante le mantiene bien integrado en la" +" red y le ayuda a mejorar la velocidad de transferencia." #: i2p2www/pages/site/faq.html:410 #, python-format @@ -2234,6 +2718,10 @@ msgid "" "If you haven't, install the latest " "release." msgstr "" +"I2P es un trabajo en curso. Muchas mejoras y arreglos están siendo " +"implementadas, y generalmente usando la última versión mejorará el " +"rendimiento. Si no la tiene, instale la" +" última versión." #: i2p2www/pages/site/faq.html:418 #, python-format @@ -2241,6 +2729,8 @@ msgid "" "See the\n" "I2P Bittorrent FAQ" msgstr "" +"Vea el FAQ de " +"Bittorrent en I2P" #: i2p2www/pages/site/faq.html:425 msgid "" @@ -2257,6 +2747,15 @@ msgid "" " "Bypass\n" "proxy server" if you have a proxy server configured)." msgstr "" +"\n" +"Cuando instala I2P se crea un túnel hacia el servidor IRC de I2P, Irc2P, " +"(vea la página " +"de configuración de I2PTunnel), y se inicia automáticamente cuando se" +" arranca el ruter I2P. Para conectarse a él configure su cliente IRC para" +" conectarse a localhost 6668. Los clientes de IRC como " +"Xchat pueden crear una nueva conexión con el servidor " +"localhost/6668 (recuerde pulsar "Bypassproxy " +"server" si tiene el servidor proxy configurado)." #: i2p2www/pages/site/faq.html:436 msgid "" @@ -2265,6 +2764,9 @@ msgid "" "for connections on the local interface. However, with a little hacking,\n" "you can make it reachable remotely:" msgstr "" +"Por razones de seguridad la consola de administración del ruter por " +"defecto solo escucha en localhost. Aunque, con algún apaño, puede hacerla" +" accesible remotamente:" #: i2p2www/pages/site/faq.html:444 msgid "" @@ -2273,6 +2775,9 @@ msgid "" "with
\n" "clientApp.0.args=7657 0.0.0.0 ./webapps/" msgstr "" +"Abra ~/.i2p/clients.config y cambie
" +"clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
por clientApp.0.args=7657 0.0.0.0 ./webapps/" #: i2p2www/pages/site/faq.html:452 msgid "" @@ -2282,6 +2787,10 @@ msgid "" "and add a new option: consolePassword=foo (or whatever " "password you want)" msgstr "" +"Vaya a http://localhost:7657/configadvanced.jsp" +" y añada un opción nueva: consolePassword=foo (o la " +"contraseña que desee)" #: i2p2www/pages/site/faq.html:458 msgid "" @@ -2291,6 +2800,10 @@ msgid "" "and hit \"Graceful restart\", which restarts the JVM and reloads the " "client applications" msgstr "" +"Vaya a http://localhost:7657/index.jsp" +" y pulse \\\"Graceful restart\\\", que reiniciará le máquina virtual y " +"las aplicaciones clientes." #: i2p2www/pages/site/faq.html:465 msgid "" @@ -2306,6 +2819,12 @@ msgid "" "127.0.0.1:7657 as well as\n" "any LAN/WAN IP." msgstr "" +"Después de arrancar debería ser posible acceder a la consola remotamente." +" Se le preguntará por el usuario y la contraseña - el usuario es " +"\\\"admin\\\" y la contraseña la que puso en el paso 2. Nota; " +"0.0.0.0 especifica un dispositivo , no una red o máscara de " +"red. 0.0.0.0 significa \\\"en todos los interfaces\\\" con lo cual es " +"accesible tanto desde 127.0.0.1:7657 como desde la IP de LAN/WAN. " #: i2p2www/pages/site/faq.html:476 msgid "" @@ -2314,10 +2833,14 @@ msgid "" "router advanced configuration option " "i2cp.tcp.bindAllInterfaces=true and restart." msgstr "" +"Por defecto el dispositivo del ruter I2CP (puerto 7654) escucha en " +"127.0.0.1. Para que escuche en\\0.0.0.0, cambie la opción en " +"configuración avanzada i2cp.tcp.bindAllInterfaces=true y " +"reinicie." #: i2p2www/pages/site/faq.html:481 msgid "Whats an \"eepsite\"?" -msgstr "" +msgstr "¿Qué es una \\\"eepsite\\\"?" #: i2p2www/pages/site/faq.html:483 msgid "" @@ -2326,6 +2849,9 @@ msgid "" "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 "" +"Una eepsite es una página web hospedada anónimamente - se puede acceder a" +" ella configurando el proxy de su navegador web (normalmente a localhost " +"puerto 4444), y poniendo la dirección de la web en su navegador." #: i2p2www/pages/site/faq.html:491 #, python-format @@ -2336,6 +2862,10 @@ msgid "" "tools\n" "are possible but could introduce leaks in your setup." msgstr "" +"La configuración proxy para varios navegadores está en una web aparte con capturas de " +"pantalla. Una configuración mas avanzada con herramientas externas es " +"posible, pero podría introducir fugas en su configuración." #: i2p2www/pages/site/faq.html:500 msgid "" @@ -2344,6 +2874,9 @@ msgid "" "last\n" "hour or so." msgstr "" +"x es el número de pares a los cuales ha enviado o recibido mensajes " +"satisfactoriamente en el último minuto, y es el número de pares vistos en" +" la última hora." #: i2p2www/pages/site/faq.html:508 msgid "" @@ -2351,6 +2884,8 @@ msgid "" "supported.\n" "There is no SOCKS outproxy so it is of limited use." msgstr "" +"El proxy SOCKS está soportado desde la versión 0.7.1.Está soportado SOCKS" +" 4/4a/5.⏎ No hay proxy de salida SOCKS, con lo cual es de uso limitado." #: i2p2www/pages/site/faq.html:512 msgid "" @@ -2364,6 +2899,14 @@ msgid "" "\n" "extremely dangerous." msgstr "" +"Además muchas aplicaciones tienen fugas de información sensible⏎ " +"información que podría identificarle en Internet.⏎ I2P sólo filtra los " +"datos de conexión, pero si el programa que ⏎ ejecuta envía esta " +"información, I2P no tiene forma de proteger su anonimato.⏎ Por ejemplo, " +"algunas aplicaciones de email envían la IP de la máquina ⏎ donde se " +"ejecutan al servidor de email. No hay forma de que I2P filtre ⏎ esto, " +"con lo cual usar I2P para 'sockificar' aplicaciones existente es posible," +" ⏎ pero extremadamente peligroso." #: i2p2www/pages/site/faq.html:522 #, python-format @@ -2372,12 +2915,16 @@ msgid "" "\n" "there are some helpful hints on the socks page." msgstr "" +"Si aún así desea mas información sobre el proxy socks,⏎hay algunas " +"sugerencias útiles en la a href=\"%(socks)s\">web de socks" #: 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 "" +"De acuerdo, aquí hay un resumen con los puertos por defecto ( por " +"supuesto todo es configurable a través de varias opciones):" #: i2p2www/pages/site/faq.html:538 msgid "" @@ -2388,6 +2935,12 @@ msgid "" "The selected port is shown on the router configuration page." msgstr "" +"Puertos abiertos al internet⏎ Nota: las nuevas instalaciones a " +"partir de 0.7.8 no usan el puerto 8887; elijen un puerto aleatorio entre " +"9000 y 31000 cuando el programa se ejecuta por primera vez. El puerto " +"seleccionado se muestra en la página de configuración." +" del ruter" #: i2p2www/pages/site/faq.html:546 msgid "" @@ -2396,12 +2949,17 @@ msgid "" "arbitrary remote UDP ports, allowing replies
\n" " " msgstr "" +"Puerto aleatorio UDP de salida en la página de configuración " +"hacia puertos UDP remotos, permitiendo respuestas." #: i2p2www/pages/site/faq.html:551 msgid "" "Outbound TCP from random high ports to arbitrary remote TCP ports\n" " " msgstr "" +"Puertos altos aleatorios de salida TCP hacia puertos aleatorios TCP " +"remotos" #: i2p2www/pages/site/faq.html:556 msgid "" @@ -2410,6 +2968,9 @@ msgid "" "arbitrary locations\n" " " msgstr "" +"(opcional pero recomendado) UDP de entrada hacia el puerto indicado en" +" la página de " +"configuración desde ubicaciones arbitrarias⏎" #: i2p2www/pages/site/faq.html:561 msgid "" @@ -2419,6 +2980,12 @@ msgid "" "Inbound TCP may be disabled on the configuration page." msgstr "" +"(opcional pero recomendado) TCP de entrada hacia el puerto indicado en" +" la página de " +"configuración desde ubicaciones arbitrarias.⏎ TCP de entrada puede " +"estar deshabilitado en la " +"href=\"http://127.0.0.1:7657/confignet.jsp\">página de configuración " +"
" #: i2p2www/pages/site/faq.html:567 msgid "" @@ -2427,12 +2994,18 @@ msgid "" "querying a random SNTP host in pool.ntp.org or another\n" "server you specify)" msgstr "" +"Puerto 123 de salida UDP, permitiendo respuestas
⏎ Este es " +"necesario para la sincronización del reloj de I2P ( via SNTP- consultando" +" un host SNTP aleatorio en ⏎ pool.ntp.org u otro servidor que " +"especifique)" #: i2p2www/pages/site/faq.html:578 msgid "" "Local I2P ports, listening only to local connections by default,\n" "except where noted:" msgstr "" +"Puertos locales de I2P, escuchando por defecto solamente a " +"conexiones locales, ⏎ excepto cuando se indique:" #: i2p2www/pages/site/faq.html:584 msgid "" @@ -2441,6 +3014,9 @@ msgid "" "May be disabled on confignet.jsp." msgstr "" +"1900: UPnP SSDP UDP multicast listener.⏎ No puede cambiarse. " +"Escucha en todos los dispositivos.⏎ Puede estar desactivado en confignet.jsp." #: i2p2www/pages/site/faq.html:591 msgid "" @@ -2450,6 +3026,10 @@ msgid "" "href=\"http://localhost:7657/configclients.jsp\">configclients.jsp.\n" "May be changed in the bob.config file." msgstr "" +"2827: Puente BOB, un API de alto nivel para clientes ⏎ " +"Desactivado por defecto.⏎ Puede activarse/desactivarse en configclients.jsp.⏎ " +"Puede cambiarse en el archivo de configuración bob.config." #: i2p2www/pages/site/faq.html:599 msgid "" @@ -2459,6 +3039,9 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"4444: Proxy HTTP Puede activarse o cambiarse en la página de " +"I2ptunnel en la consola del ruter. También puede configurarse para " +"escuchar en un dispositivo determinado o en todos." #: i2p2www/pages/site/faq.html:606 msgid "" @@ -2468,6 +3051,9 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"4445: Proxy HTTPS Puede cambiarse o activarse en la página de " +"I2P túnel en la consola del ruter. También puede ser configurado para " +"escuchar en un dispositivo determinado o en todos." #: i2p2www/pages/site/faq.html:613 msgid "" @@ -2477,6 +3063,9 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"6668: Proxy IRC Puede activarse o cambiarse en la página de " +"I2ptunnel en la consola del ruter. También puede configurarse para " +"escuchar en un dispositivo determinado o en todos." #: i2p2www/pages/site/faq.html:620 msgid "" @@ -2486,6 +3075,10 @@ msgid "" "May be disabled on confignet.jsp." msgstr "" +"7652: UPnP HTTP TCP event listener. Escucha en la dirección de " +"LAN. Puede cambiarse en la configuración avanzada " +"i2np.upnp.HTTPPort=nnnn. Puede desactivarse en confignet.jsp." #: i2p2www/pages/site/faq.html:628 msgid "" @@ -2495,6 +3088,10 @@ msgid "" "May be disabled on confignet.jsp." msgstr "" +"7653: UPnP SSDP UDPsearch response listener.⏎ Escucha en todos" +" los dispositivos.⏎ Puede cambiarse con la configuración avanzada " +"i2np.upnp.SSDPPort=nnnn.⏎ Puede desactivarse en confignet.jsp." #: i2p2www/pages/site/faq.html:636 msgid "" @@ -2508,6 +3105,12 @@ msgid "" "configclients.jsp." msgstr "" +"7654: Puerto cliente del protocolo I2P, usado por varias " +"aplicaciones Puede cambiarse a un puerto diferente en configclients.jsp " +"pero no se recomienda. Puede escuchar en un dispositivo diferente, en " +"todos o desactivarse en configclients.jsp." #: i2p2www/pages/site/faq.html:646 msgid "" @@ -2518,6 +3121,12 @@ msgid "" "May be changed in the clients.config file with the SAM command line " "option sam.udp.port=nnnn." msgstr "" +"7655: UDP para el puente SAM, un API para sockets de alto nivel " +"para clientes. Solo se abre cuando un cliente SAM V3 solicita una " +"sesión UDP. Puede activarse/desactivarse en configclients.jsp. " +"Puede cambiarse en el archivo clients.config en la línea " +"sam.udp.port=nnnn." #: i2p2www/pages/site/faq.html:654 msgid "" @@ -2527,6 +3136,11 @@ msgid "" "href=\"http://localhost:7657/configclients.jsp\">configclients.jsp.\n" "May be changed in the clients.config file." msgstr "" +"7656: Puente SAM, un API de alto nivel para clientes " +"Desactivado por defecto para nuevas instalaciones desde la versión " +"0.6.5. Puede activarse o desactivarse en configclients.jsp. " +"Puede cambiarse en el archivo clients.config." #: i2p2www/pages/site/faq.html:662 msgid "" @@ -2535,6 +3149,9 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces in that file." msgstr "" +"7657: La consola del ruter. Puede desactivarse en el archivo " +"clients.config. También puede ser configurado para escuchar en un " +"dispositivo o en todos los dispositivos en ese mismo archivo." #: i2p2www/pages/site/faq.html:669 msgid "" @@ -2543,6 +3160,9 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces in the jetty.xml file." msgstr "" +"7658: Tu eepsite. Puede desactivarse en el archivo " +"clients.config. Puede configurarse para escuchar en un dispositivo o en " +"todos en el archivo jetty.xml." #: i2p2www/pages/site/faq.html:676 msgid "" @@ -2552,6 +3172,10 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"7659: Emails de salida hacia smtp.postman.i2p. Puede " +"desactivarse o cambiarse en la página de i2ptunnel en la consola del " +"ruter. También puede ser configurado para escuchar en un dispositivo o en" +" todos." #: i2p2www/pages/site/faq.html:683 msgid "" @@ -2561,6 +3185,10 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"7660: Email de entrada desde pop.postman.i2p. Puede " +"deshabilitarse o cambiarse en la página de i2ptunnel en la consola del " +"ruter. También puede configurarse para escuchar en un dispositivo o en " +"todos." #: i2p2www/pages/site/faq.html:690 msgid "" @@ -2570,6 +3198,10 @@ msgid "" "May also be configured to be bound to a specific interface or all " "interfaces." msgstr "" +"8998:mtn.i2p2.i2p (Monotone - desactivado por defecto) Puede " +"deshabilitarse o cambiarse en la página de i2ptunnel en la consola del " +"ruter. También puede ser configurado para escuchar en un dispositivo o en" +" todos." #: i2p2www/pages/site/faq.html:697 msgid "" @@ -2581,6 +3213,12 @@ msgid "" "port.html\">wrapper documentation.\n" "For more information see below." msgstr "" +"31000: Conexión local al puerto de control del wrapper. Salida " +"sólo hacia 32000, no escucha en este puerto. Empieza en 31000 y se " +"incrementa hasta 31999 buscando un puerto libre. Para cambiarlo vea la documentación del wrapper. Para mas información vea mas abajo." #: i2p2www/pages/site/faq.html:707 msgid "" @@ -2590,6 +3228,10 @@ msgid "" "port.html\">wrapper documentation.\n" "For more information see below." msgstr "" +"32000: Canal de conexión local para el servicio wrapper. Para" +" cambiarlo vea la decumentación del wrapper.. Para mas información " +"vea mas abajo." #: i2p2www/pages/site/faq.html:719 msgid "" @@ -2603,6 +3245,12 @@ msgid "" "but \n" "not remote access, unless desired)." msgstr "" +"Los puertos locales de I2P y los puertos de I2PTunnel no necesitan ser " +"accesibles desde máquinas remotas, pero *deberían* ser accesibles " +"localmente. Además puede crear también puertos adicionales para " +"instancias I2PTunnel vía http://localhost:7657/i2ptunnel/ ( y a su vez, " +"necesitará permitir en su cortafuegos el acceso local, pero no remoto, a " +"no ser que lo desee así)." #: i2p2www/pages/site/faq.html:727 msgid "" @@ -2617,10 +3265,18 @@ msgid "" "PeerGuardian\n" "only hurts you - don't do it)." msgstr "" +"Resumiendo, nada necesita ser accesible por pares remotos que no hayan " +"sido solicitados, pero, si puede configurar son NAT/cortafuegos para " +"permitir conexiones de entrada UDP y TCP hacia lospuertos de escucha de salida, " +"tendrá mejor rendimiento. También necesitará ser capaz de enviar paquetes" +" UDP de salida a pares remotos arbitrarios ( bloqueando IPs " +"aleatoriamente con cosas como PeerGuardian solo le perjudica a usted - no" +" lo haga)." #: i2p2www/pages/site/faq.html:735 msgid "Why is I2P listening on port 32000?" -msgstr "" +msgstr "¿Porqué está escuchando I2P en el puerto 32000?" #: i2p2www/pages/site/faq.html:737 msgid "" @@ -2632,6 +3288,12 @@ msgid "" "connection \n" "to the wrapper, the wrapper refuses any additional connections." msgstr "" +"El servicio wrapper java Tunaki que usamos abre este puerto " +"—escuchando en localhost—para poder comunicarse con " +"aplicaciones dentro de la JVM máquina virtual de java. Cuando la JVM " +"arranca se la da una clave para poder conectarse al wrapper. Después de " +"que la JVM establezca la conexión con el wrapper, el wrapper rechaza " +"cualquier conexión adicional." #: i2p2www/pages/site/faq.html:743 msgid "" @@ -2639,6 +3301,9 @@ msgid "" "wrapper documentation." msgstr "" +"Puede encontrar más información en la documentación del wrapper." #: i2p2www/pages/site/faq.html:750 msgid "" @@ -2648,6 +3313,10 @@ msgid "" "to fetch a directory listing and download multiple \"routerInfo\" files\n" "from a predefined reseed URL." msgstr "" +"Un ruter I2P sólo necesita sembrar una vez para unirse a la red por " +"primera vez. Resembrar no es mas que enviar solicitudes normales HTTP GET" +" para alcanzar una lista y descargar múltiples archivos \"routerInfo\" " +"desde una URL de resembrado predefinida." #: i2p2www/pages/site/faq.html:757 msgid "" @@ -2658,34 +3327,45 @@ msgid "" "things,\n" "if your firewall limits outbound traffic, and blocked the reseed request." msgstr "" +"Un síntoma típico de resembrado fallido es el indicador \"Conocidos\" ( " +"en la parte izquierda del la consola del ruter) mostrando un valor muy " +"pequeño (normalmente menos de 5) que no aumenta.. Esto puede ocurrir, " +"además de por otras razones, si su cortafuegos limita el tráfico de " +"salida, y ha bloqueado las solicitudes de resembrado." #: i2p2www/pages/site/faq.html:764 msgid "To reseed an I2P router manually, do the following:" -msgstr "" +msgstr "Para resembrar el ruter I2P manualmente haga lo siguiente:" #: i2p2www/pages/site/faq.html:767 msgid "Stop your I2P router" -msgstr "" +msgstr "Para el ruter I2P" #: i2p2www/pages/site/faq.html:770 msgid "" "Open http://netdb.i2p2.de/ using a " "web browser" msgstr "" +"Abra http://netdb.i2p2.de/ usando " +"un explorador web." #: i2p2www/pages/site/faq.html:773 msgid "Save a dozen \"routerInfo\" files to your I2P \"netDb\" directory" msgstr "" +"Guarde una docena de archivos \"routerInfo\" en el directorio \"netDb\" " +"de su I2P" #: i2p2www/pages/site/faq.html:780 msgid "Start your I2P router" -msgstr "" +msgstr "Encienda su ruter I2P" #: i2p2www/pages/site/faq.html:787 msgid "" "When trying to start the router using \"i2prouter start\", you may see " "output like the following:" msgstr "" +"Cuando intenta arrancar el ruter usando \"i2prouter start\", puede ver " +"una salida del tipo:" #: i2p2www/pages/site/faq.html:792 msgid "" @@ -2698,12 +3378,21 @@ msgid "" "are missing the necessary compatibility libraries.\n" "These libraries may be installed by performing the following steps:" msgstr "" +"\n" +"En el intento de hacer que I2P funcione en el mayor número de sistemas " +"posibles, hasta I2P 0.8.9 usamos un wrapper java compilado " +"por FreeBSD 6.x. Si recibe este error lo mas probable es que le falten " +"las librerías necesarias. Esas librerías pueden instalarse siguiendo los " +"pasos siguientes:" #: i2p2www/pages/site/faq.html:800 msgid "" "Switch to the root user with su or log in as " "root." msgstr "" +"Cambie al usuario root con su o inicie sesión como " +"root." #: i2p2www/pages/site/faq.html:806 #, python-format @@ -2716,18 +3405,27 @@ msgid "" " can\n" "replace the wrapper with one from the source tarball." msgstr "" +"Si no puede instalar estas librerías (o no lo desea), otra posibilidad " +"sería compilar el wrapper para su " +"sistema, arrancando con el script runplain.sh de I2P, o " +"puede sobreescribir el wrapper por uno del archivo de las fuentes." #: 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 "" +"A partir de la versión 0.8.9 de I2P, el wrapper ha sido actualizado a " +"v3.5.12 y compilado en sistemas corriendo FreeBSD 7.2." #: i2p2www/pages/site/faq.html:816 msgid "" "In wrapper.log I see an error that states \"Protocol " "family unavailable\" when loading the Router Console" msgstr "" +"En el archivo wrapper.log veo un error que indica " +"\"Protocol family unavailable\" cuando arranco la consola " +"del ruter." #: i2p2www/pages/site/faq.html:818 msgid "" @@ -2735,28 +3433,37 @@ msgid "" "some systems that are configured to use IPv6 by default. There are a few " "ways to solve this:" msgstr "" +"A menudo este error ocurre con cualquier aplicación java que active la " +"red en sistemas configurados para usar IPV6 por defecto. Hay varias " +"formas de arreglarlo:" #: i2p2www/pages/site/faq.html:823 msgid "" "On Linux based systems, you can echo 0 > " "/proc/sys/net/ipv6/bindv6only" msgstr "" +"En sistemas basados en Linix puede ejecutar echo 0 > " +"/proc/sys/net/ipv6/bindv6only" #: i2p2www/pages/site/faq.html:825 msgid "Look for the following lines in wrapper.config." -msgstr "" +msgstr "Busque por las siguientes líneas en wrapper.config." #: i2p2www/pages/site/faq.html:829 msgid "" "If the lines are there, uncomment them by removing the \"#\"s. If the " "lines are not there, add them without the \"#\"s." msgstr "" +"Si las líneas ya están ahí, descomentelas eliminando los \"#\". Si las " +"líneas no están ahí añádalas sin los \"#\"." #: i2p2www/pages/site/faq.html:832 msgid "" "Another option would be to remove the ::1 from " "~/.i2p/clients.config" msgstr "" +"Otra opción sería borrar ::1 del archivo " +"~/.i2p/clients.config" #: i2p2www/pages/site/faq.html:836 msgid "" @@ -2766,6 +3473,11 @@ msgid "" "router console will NOT reread this file! You must\n" "click Shutdown, wait 11 minutes, then start I2P." msgstr "" +"CUIDADO: Para que los cambios en " +"wrapper.config tengan efecto debe apagar completamente el " +"ruter y el wrapper. ¡Pulsando Reiniciar en la consola del ruter " +"NO leerá de nuevo este archivo! Tiene que pulsar apagar, " +"esperar 11 minutos y entonces arrancar I2P." #: i2p2www/pages/site/faq.html:847 #, python-format @@ -2774,10 +3486,13 @@ msgid "" "the forum and we'll post it here (with\n" "the answer, hopefully)." msgstr "" +"¡Genial! Contáctenos en el IRC irc.freenode.net #i2p o escríbanos en el " +"foro y lo publicaremos aquí (esperemos " +"que con la respuesta)." #: i2p2www/pages/site/impressum.html:4 msgid "German laws" -msgstr "" +msgstr "Leyes alemanas" #: i2p2www/pages/site/index.html:2 msgid "I2P Anonymous Network" @@ -2788,18 +3503,24 @@ msgid "" "Anonymous peer-to-peer distributed communication layer built with open " "source tools and designed to run any traditional Internet service such as" " email, IRC or web hosting." -msgstr "Capa anónima de comunicación distribuida peer-to-peer construida con herramientas de código libre y diseñada para usar cualquier servicio de internet tradicional como email, IRC, foros o páginas webs." +msgstr "" +"Capa anónima de comunicación distribuida par-a-par construida con " +"herramientas de código libre y diseñada para usar cualquier servicio de " +"internet tradicional como email, IRC, foros o páginas webs." #: i2p2www/pages/site/index.html:7 msgid "What does I2P do for you?" -msgstr "¿Qué hace I2P por tí?" +msgstr "¿Qué hace I2P por ti?" #: i2p2www/pages/site/index.html:8 msgid "" "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 "La red I2p proporciona una fuerte privacidad de las comunicaciones sobre Internet. Muchas actividades que podrían poner en riesgo su privacidad en Internet pueden hacerse anónimamente dentro de I2P." +msgstr "" +"La red I2p proporciona una fuerte privacidad de las comunicaciones sobre " +"Internet. Muchas actividades que podrían poner en riesgo su privacidad en" +" Internet pueden hacerse anónimamente dentro de I2P." #: i2p2www/pages/site/index.html:9 #, python-format @@ -2815,7 +3536,10 @@ msgid "" "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 "I2p es una implementación completa de una darkent - una red dentro de otra red, y está destinada a proteger contra la monitarización de terceras partes, como gobiernos hostiles o ISPs.\n" +msgstr "" +"I2p es una implementación completa de una darkent - una red dentro de " +"otra red, y está destinada a proteger contra la monitarización de " +"terceras partes, como gobiernos hostiles o ISPs.\n" #: i2p2www/pages/site/index.html:18 msgid "" @@ -2823,14 +3547,21 @@ msgid "" " in high-risk situations. It is designed to protect activists, oppressed " "people, journalists and whistle-blowers - as well as the average person." "\n" -msgstr "I2P es usado por mucha gente que se preocupa de su privacidad, y también por otras personas en situaciones de alto reisgo. Está diseñado para proteger activistas, periodistas y personas que denuncian la corrupción.\n" +msgstr "" +"I2P es usado por mucha gente que se preocupa de su privacidad, y también " +"por otras personas en situaciones de alto reisgo. Está diseñado para " +"proteger activistas, periodistas y personas que denuncian la corrupción." +"\n" #: i2p2www/pages/site/index.html:21 msgid "" "I2P runs on Java and is therefore available anywhere Java will run, " "including desktops, embedded systems (like the Raspberry Pi) and Android" " phones.\n" -msgstr "I2p se ejecuta con Java por lo cual está disponible allí donde Java funcione, incluyendo sistemas de escritorio, embebidos (como Raspberry Pi) y móbiles Android.\n" +msgstr "" +"I2p se ejecuta con Java por lo cual está disponible allí donde Java " +"funcione, incluyendo sistemas de escritorio, embebidos (como Raspberry " +"Pi) y móviles Android.\n" #: i2p2www/pages/site/index.html:25 msgid "Read more…" @@ -2845,54 +3576,69 @@ msgstr "¿Qué puede hacer con I2P?" msgid "" "Email Integrated web mail interface, " "plugin for serverless email." -msgstr "Email Interfaz de correo web incluido, pluguin para emails sin servidor." +msgstr "" +"Email Interfaz de correo web " +"incluido, pluguin para emails sin servidorres." #: i2p2www/pages/site/index.html:38 #, python-format msgid "" "Web browsing Anonymous " "websites, gateways to and from the public Internet." -msgstr "Navegación web Webs anónimas, gateways desde y hacia el Internel público." +msgstr "" +"Navegación web Webs anónimas, " +"gateways desde y hacia el Internet público." #: i2p2www/pages/site/index.html:43 #, python-format msgid "" "Blogging and forums " "Blogging and Syndie plugins." -msgstr "Blogs y foros Blogs y pluguins para Syndie." +msgstr "" +"Blogs y foros Blogs y " +"pluguins para Syndie." #: i2p2www/pages/site/index.html:48 #, python-format msgid "" "Website hosting Integrated " "anonymous web server." -msgstr "Alojamiento web Servidor web anónimo integrado." +msgstr "" +"Alojamiento web Servidor " +"web anónimo integrado." #: i2p2www/pages/site/index.html:53 #, python-format msgid "" "Real-time chat Instant " "messaging and IRC clients." -msgstr "Chat en tiempo real Mensajería instantánea y clientes IRC." +msgstr "" +"Chat en tiempo real " +"Mensajería instantánea y clientes IRC." #: i2p2www/pages/site/index.html:58 #, python-format msgid "" "File sharing ED2K and Gnutella" " clients, integrated BitTorrent client." -msgstr "Compartición de archivos Clientes ED2K y Gnutella, cliente de BitTorrent integrado." +msgstr "" +"Compartición de archivos " +"Clientes ED2K y Gnutella, cliente de BitTorrent integrado." #: i2p2www/pages/site/index.html:63 #, python-format msgid "" "Decentralized file " "storage Tahoe-LAFS distributed filesystem plugin." -msgstr "Almacenamiento de archivos descentralizado Pluguin para el sistema de archivos distribuido Tahoe-LAFS." +msgstr "" +"Almacenamiento de " +"archivos descentralizado Pluguin para el sistema de archivos " +"distribuido Tahoe-LAFS." #: i2p2www/pages/site/index.html:68 #, python-format msgid "More supported applications…" -msgstr "Mas aplicaciones soportadas…" +msgstr "Más aplicaciones soportadas…" #: i2p2www/pages/site/index.html:76 msgid "News & Updates" @@ -2900,7 +3646,7 @@ msgstr "Noticias & Actualizaciones" #: i2p2www/pages/site/links.html:4 msgid "Recommended Links & Resources" -msgstr "" +msgstr "Enlaces recomendados y más recursos" #: i2p2www/pages/site/links.html:5 #, python-format @@ -2916,23 +3662,23 @@ msgstr "Amigos de I2P" #: i2p2www/pages/site/links.html:24 msgid "More Projects and Documentation" -msgstr "" +msgstr "Más proyectos y documentación" #: i2p2www/pages/site/links.html:34 msgid "Press" -msgstr "" +msgstr "Prensa" #: i2p2www/pages/site/links.html:38 msgid "Boards, newssite, others" -msgstr "" +msgstr "Anuncios, noticias y otros" #: i2p2www/pages/site/links.html:42 msgid "Very Old Stuff" -msgstr "" +msgstr "Cosas muy antiguas" #: i2p2www/pages/site/about/browser-config.html:2 msgid "Web Browser Configuration" -msgstr "" +msgstr "Configuración del navegador web" #: i2p2www/pages/site/about/browser-config.html:5 msgid "" @@ -2942,19 +3688,22 @@ msgid "" "some of\n" "the most popular browsers." msgstr "" +"Su navegador web necesita ser configurado para poder navegar eepsites y " +"para utilizar los outproxies disponibles en I2P. Debajo tiene un paso a " +"paso para configurar los navegadores más populares." #: i2p2www/pages/site/about/browser-config.html:11 msgid "How to configure your browser" -msgstr "" +msgstr "Como configurar su navegador" #: i2p2www/pages/site/about/browser-config.html:17 #: i2p2www/pages/site/about/browser-config.html:73 msgid "Outproxy Terms Of Service" -msgstr "" +msgstr "Términos de servido del Outproxy" #: i2p2www/pages/site/about/browser-config.html:22 msgid "Internet Explorer 8 or Chrome" -msgstr "" +msgstr "Internet Explorer 8 o Chrome" #: i2p2www/pages/site/about/browser-config.html:23 msgid "" @@ -2964,10 +3713,14 @@ msgid "" "the\n" "proxy port configuration." msgstr "" +"En el menú de herramientas seleccione \"Opciones de Internet\" para abrir" +" la configuración. En la ventana de configuración seleccione la pestaña " +"de conexiones y pulse en configuración de LAN para configurar el puerto " +"del proxy." #: i2p2www/pages/site/about/browser-config.html:28 msgid "IE Internet Options" -msgstr "" +msgstr "Opciones de Internet de IE" #: i2p2www/pages/site/about/browser-config.html:29 msgid "" @@ -2981,10 +3734,15 @@ msgid "" "the\n" "settings and your browser is set to use the I2P proxy." msgstr "" +"Ahora active en la casilla de confirmación \"usar un servidor proxy para " +"la LAN\" y también en \"Ignorar servidor para conexiones locales\". " +"Pulsando en opciones avanzadas abrirá la ventana para abrir puertos. " +"Entre los valores de la imagen, IP 127.0.0.1y puerto 4444 para HTTP, " +"puerto 4445 para HTTPS." #: i2p2www/pages/site/about/browser-config.html:36 msgid "IE Proxy Settings" -msgstr "" +msgstr "Configuración proxy en IE" #: i2p2www/pages/site/about/browser-config.html:40 msgid "" @@ -2996,10 +3754,14 @@ msgid "" "You'll\n" "see a Window like the following:" msgstr "" +"Desde el menú de herramientas seleccione opciones y abra el menú de " +"configuración de Firefox. Pulse en Avanzado, entonces pulse en " +"la pestaña Red. En la sección de Conexiones, pulse el " +"botón de Configuración. Se le mostrará una ventana como la siguiente:" #: i2p2www/pages/site/about/browser-config.html:46 msgid "Firefox Network Options" -msgstr "" +msgstr "Opciones de red de Firefox" #: i2p2www/pages/site/about/browser-config.html:47 msgid "" @@ -3010,10 +3772,15 @@ msgid "" "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 "" +"En la ventana de Configuración de Conexiones, pulse el círculo " +"junto a Configuración manual del proxy, entonces añada " +"127.0.0.1, puerto 4444 en el campo Proxy HTTP. Añada 127.0.0.1, puerto " +"4445 en el campo Proxy SSL. Asegúrese de escribir 127.0.0.1 o localhost " +"en el campo \"Sin proxy para\"." #: i2p2www/pages/site/about/browser-config.html:53 msgid "Firefox Proxy Settings" -msgstr "" +msgstr "Configuración del Proxy de Firefox" #: i2p2www/pages/site/about/browser-config.html:57 msgid "" @@ -3024,10 +3791,15 @@ msgid "" "settings\" and\n" "click the Setup box." msgstr "" +"Desde el menú de Configuración, seleccione Configurar " +"Konqueror. En el grupo Navegador Web en la parte izquierda " +"seleccione Proxy. En esta ventana nueva seleccione la opción " +"\"Especificar manualmente las opciones del Proxy\" y pulse en " +"Configurar." #: i2p2www/pages/site/about/browser-config.html:63 msgid "Konqueror Proxy Options" -msgstr "" +msgstr "Opciones del Proxy de Konqueror" #: i2p2www/pages/site/about/browser-config.html:64 msgid "" @@ -3039,10 +3811,15 @@ msgid "" "\n" "127.0.0.1 and OK. Hit OK once more to close the configuration window." msgstr "" +"Escriba 127.0.0.1 y puerto 4444 en la casilla HTTP. Escriba 127.0.0.1 y " +"puerto 4445 en la casilla HTTPS. Pulse el botón de Nuevo en la " +"sección de Excepciones. Escriba localhost y pulse Aceptar. Pulse otra vez" +" el botón Nuevo y escriba 127.0.0.1 y aceptar. Pulse aceptar una" +" vez mas para salir de la ventana de configuración." #: i2p2www/pages/site/about/browser-config.html:70 msgid "Konqueror Proxy Ports" -msgstr "" +msgstr "Puertos del Proxy de Konqueror" #: i2p2www/pages/site/about/browser-config.html:74 msgid "" @@ -3050,6 +3827,8 @@ msgid "" "Internet.\n" "Instead, it is meant to be used as an internal network." msgstr "" +"Recuerde: I2P no fue diseñado para crear proxies de salida al Internet. " +"En su lugar está diseñado para ser usado como una red interna." #: i2p2www/pages/site/about/browser-config.html:78 msgid "" @@ -3058,6 +3837,9 @@ msgid "" "services are run by by private volunteers and could be shut down or\n" "unreachable at anytime.
" msgstr "" +"El proyecto I2P no ejecuta por sí mismo ningún proxy al Internet. Ese " +"tipo de servicios proxy son ejecutados por voluntarios privados y pueden " +"ser apagados o no estar accesibles en todo momento." #: i2p2www/pages/site/about/browser-config.html:83 msgid "" @@ -3067,6 +3849,9 @@ msgid "" "\n" "routed through Tor." msgstr "" +"Por defecto I2P viene con 2 outproxies configurados: " +"code>false.i2p
(un proxy HTTP sólo) y " +"outproxyng.h2ik.i2p (un proxy HTTPS a través de TOR." #: i2p2www/pages/site/about/browser-config.html:88 msgid "" @@ -3077,6 +3862,11 @@ msgid "" "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 "" +"Estos dos outproxies están configurados con límites de conexiones. Esto " +"significa que sólo están permitidos un número determinado de accesos por " +"cliente. Cuando se alcanza el límite el cliente es bloqueado por un " +"periodo de tiempo 1 minuto/1 hora/1 día. Tenga cuidado y no sature estos " +"servicios con demasiadas peticiones." #: i2p2www/pages/site/about/browser-config.html:94 #, python-format @@ -3090,6 +3880,12 @@ msgid "" "outproxies.\n" "As a convenience, False.i2p blocks ad servers." msgstr "" +"Hay filtros activos en estos outproxies (por ejemplo, el acceso a mibbit " +"y tracker torrents están bloqueados) Desde cuenta que hasta The Pirate " +"Bay está bloqueado, aunque hospedan una página eepisite en %(tpb)s. Las eepsites accesible en I2P " +"también están bloqueadas a través de los outproxies. Por comodidad, " +"False.i2p bloquea servidores de publicidad." #: i2p2www/pages/site/about/browser-config.html:101 msgid "" @@ -3097,25 +3893,29 @@ msgid "" " as an\n" "outproxy to the Internet." msgstr "" +"Tor es una buen aplicación " +"para usar como outproxy al Internet." #: i2p2www/pages/site/about/glossary.html:4 msgid "" "This page lists often-used terminology when discussing I2P and " "cryptography." msgstr "" +"Esta página muestra la terminología usada cuando se habla de I2P y " +"cifrados." #: i2p2www/pages/site/about/hall-of-fame.html:2 msgid "Hall Of Fame" -msgstr "" +msgstr "Pódium" #: i2p2www/pages/site/about/hall-of-fame.html:5 msgid "I2P's Hall of Fame" -msgstr "" +msgstr "Pódium de I2P" #: i2p2www/pages/site/about/hall-of-fame.html:6 #, python-format msgid "Current balance: as of %(date)s" -msgstr "" +msgstr "Balance actual a día %(date)s" #: i2p2www/pages/site/about/hall-of-fame.html:9 #: i2p2www/pages/site/about/hall-of-fame.html:46 @@ -3373,22 +4173,22 @@ msgstr "" #: i2p2www/pages/site/about/hall-of-fame.html:381 #: i2p2www/pages/site/about/hall-of-fame.html:382 msgid "General fund" -msgstr "" +msgstr "Caja total" #: i2p2www/pages/site/about/hall-of-fame.html:10 #: i2p2www/pages/site/about/hall-of-fame.html:12 #: i2p2www/pages/site/about/hall-of-fame.html:20 #, python-format msgid "%(euroval)s € and %(btcval)s BTC" -msgstr "" +msgstr "%(euroval)s € y %(btcval)s BTC" #: i2p2www/pages/site/about/hall-of-fame.html:11 msgid "Datastorage bounty" -msgstr "" +msgstr "Recompensa por almacenamiento" #: i2p2www/pages/site/about/hall-of-fame.html:13 msgid "Native IPv6 I2P" -msgstr "" +msgstr "IPV6 nativo en I2P" #: i2p2www/pages/site/about/hall-of-fame.html:14 #: i2p2www/pages/site/about/hall-of-fame.html:16 @@ -3396,40 +4196,40 @@ msgstr "" #: i2p2www/pages/site/about/hall-of-fame.html:22 #, python-format msgid "%(euroval)s €" -msgstr "" +msgstr "%(euroval)s €" #: i2p2www/pages/site/about/hall-of-fame.html:15 msgid "I2PHex bounty" -msgstr "" +msgstr "Recompensa por I2PHex" #: i2p2www/pages/site/about/hall-of-fame.html:17 msgid "I2P in debian mirrors" -msgstr "" +msgstr "Mirros de Debian para I2P" #: i2p2www/pages/site/about/hall-of-fame.html:19 #: i2p2www/pages/site/get-involved/bounties/index.html:67 msgid "Bitcoin client for I2P" -msgstr "" +msgstr "Cliente Bitcoin para I2P" #: i2p2www/pages/site/about/hall-of-fame.html:21 msgid "Unit Tests for I2P router" -msgstr "" +msgstr "Unit Tests para el ruter I2P" #: i2p2www/pages/site/about/hall-of-fame.html:23 msgid "Bounty Robert" -msgstr "" +msgstr "Recompensa por Robert" #: i2p2www/pages/site/about/hall-of-fame.html:24 msgid "Bounty Syndie" -msgstr "" +msgstr "Recompensa por Syndie" #: i2p2www/pages/site/about/hall-of-fame.html:27 msgid "Current monthly running costs:" -msgstr "" +msgstr "Gastos mensuales actuales:" #: i2p2www/pages/site/about/hall-of-fame.html:38 msgid "Big thanks go to the following people who have donated to I2P!" -msgstr "" +msgstr "¡Muchas gracias a las siguientes personas que han donado a I2P!" #: i2p2www/pages/site/about/hall-of-fame.html:39 #, python-format @@ -3438,18 +4238,21 @@ msgid "" "href=\"mailto:%(echelon)s\">echelon\n" "with your name or nick (and optionally homepage) so we can list you here." msgstr "" +"Si ha hecho una donación , por favor envíe un email a echelon con su nombre o nick (y " +"opcionalmente su página web) para que podamos listarle aquí." #: i2p2www/pages/site/about/hall-of-fame.html:44 msgid "Current monthly subscriptions:" -msgstr "" +msgstr "Subscripciones mensuales actuales:" #: i2p2www/pages/site/about/hall-of-fame.html:177 msgid "2011 donations and costs:" -msgstr "" +msgstr "Donaciones y costo en el 2011:" #: i2p2www/pages/site/about/hall-of-fame.html:278 msgid "Previous to 2011 donations:" -msgstr "" +msgstr "Donaciones previas al 2011:" #: i2p2www/pages/site/about/intro.html:2 msgid "Intro" @@ -3477,16 +4280,21 @@ msgid "" "href=\"http://en.wikipedia.org/wiki/Public_key_encryption\">public " "keys)." msgstr "" -"I2P es una red anónima que da acceso a una capa de red que las aplicaciones pueden\n" -"utilizar para anonimizar y cifrar el envío de mensajes de uno a otro. La red en sí está\n" -"estrictamente basada en el envío de mensajes.(a la \n" -" IP), pero existe una \n" -"librería disponible que permite la comunicación segura sobre él ((a la \n" -"TCP). \n" -"Todas las comunicaciones están cifradas de extremo a extremo ( en total de usan 4 \n" -"caps de cifrados cifrados por cada mensaje enviado), e incluso el extremo final \n" -"(\"destinations\") son identificados criptográficamente (básicamente con un par de \n" -"claves públicas)." +"I2P es una red anónima que da acceso a una capa de red que las " +"aplicaciones pueden utilizar para anonimizar y cifrar el envío de " +"mensajes de uno a otro. La red en sí está estrictamente basada en el " +"envío de mensajes.(a la IP), pero " +"existe una librería disponible que permite la comunicación segura sobre " +"él (a la TCP)." +" Todas las comunicaciones están cifradas de extremo a extremo ( en total " +"de usan 4 capas de cifrados cifrados por cada mensaje enviado), e incluso" +" el extremo final \n" +"(\"destinaciones\") son identificados criptográficamente (básicamente con" +" un par de claves " +"públicas)." #: i2p2www/pages/site/about/intro.html:19 #, python-format @@ -3513,12 +4321,13 @@ msgid "" "the \n" "receiver's threat model." msgstr "" -"Para a anonimizar los mensajes enviados, cada aplicación cliente tiene su \"ruter\" I2P\n" -"que crea unos cuantos túneles\" de entrada y \n" -"salida - una secuehcia de pares que pasan el mensaje en una dirección\n" -"(hacia y desde el cliente, respectivamente ) A su vez, cuando un cliente \n" -"quiere enviar un mensaje a otro cliente, el cliente envía ese mansaje a través \n" -"de uno de sus túneles de salida hacia uno de los túneles de \n" +"Para a anonimizar los mensajes enviados, cada aplicación cliente tiene su" +" \"ruter\" I2P que crea unos cuantos túneles\" de entrada y salida - una " +"secuencia de pares que pasan el mensaje en una dirección (hacia y desde " +"el cliente, respectivamente ) A su vez, cuando un cliente \n" +"quiere enviar un mensaje a otro cliente, el cliente envía ese mensaje a " +"través de uno de sus túneles de salida hacia uno de los túneles de " "entrada del otro cliente, eventualmente alcanzando su destino." #: i2p2www/pages/site/about/intro.html:33 @@ -3538,21 +4347,23 @@ msgid "" "lookups \n" "are required." msgstr "" -"La primera vez que un cliente quiere contactar con otro cliente, consultan \n" -"la \"base de datos distribuida de la red\" - unas \n" -" tablas de \n" -"hash distribuidas propia (DHT) basada en el \n" -"algoritmo Kademlia. Esto se\n" -"hace para encontrar el túnel de entrada del otro cliente eficientemente, pero los \n" -"mensajes siguientes entre los clientes usualmente incluye la información, con lo cual\n" +"La primera vez que un cliente quiere contactar con otro cliente, " +"consultan la \"base de datos distribuida de la " +"red\" - unas tablas de " +"hash distribuidas propia (DHT) basada en el algoritmo Kademlia. " +"Esto se hace para encontrar el túnel de entrada del otro cliente " +"eficientemente, pero los mensajes siguientes entre los clientes " +"usualmente incluye la información, con lo cual\n" "no hace falta buscar en la base de datos de la red otra vez." #: i2p2www/pages/site/about/intro.html:44 #, python-format msgid "More details about how I2P works are available." msgstr "" -"Puede encontrar mas detalles sobre el funcionamienteo de I2P en \n" -"available." +"Tiene disponibles mas detalles de como funciona " +"I2P." #: i2p2www/pages/site/about/intro.html:48 msgid "What can you do with it?" @@ -3572,13 +4383,14 @@ msgid "" " \n" "forward them towards a specific TCP/IP address." msgstr "" -"Dentro de la red I2P las aplicaciones no tienen restricciones en como \n" -"pueden comunicarse - aquellas que normalmente usan UDP pueden usar\n" -"las funcionalidades básicas de I2P, y aquellas aplicaciones que normalmete \n" -"usan TCP pueden utilizar la y la librería 'TCP-like streaming'. I2P Iincluye una \n" -"aplicación generica de puente TCP/I2P (\"I2PTunnel\") \n" -"que permite enviar flujos TCP dentro de la red I2P, también recibir flujos TCP de fuera \n" -"de la red y enviar estos a una dirección IP específica." +"Dentro de la red I2P las aplicaciones no tienen restricciones en como " +"pueden comunicarse - aquellas que normalmente usan UDP pueden usar las " +"funcionalidades básicas de I2P, y aquellas aplicaciones que normalmente " +"usan TCP pueden utilizar la librería 'TCP-like streaming'. I2P incluye " +"una aplicación genérica de puente TCP/I2P (\"I2PTunnel\") que permite enviar flujos TCP " +"dentro de la red I2P, también recibir flujos TCP de fuera de la red y " +"enviar estos a una dirección IP específica." #: i2p2www/pages/site/about/intro.html:60 msgid "" @@ -3606,19 +4418,23 @@ msgid "" " those are \n" "not ready for use yet." msgstr "" -"El túnel I2P (I2Ptunnel) es actualmente usado para permitir a la gente tener su\n" -"propia web anónima (\"eepsite\"), ejecutando un servidor web normal y creando un \n" -"túnel 'servidor' hacia ella, esta eepsite podrá ser accedida anónimamente sobre I2P \n" -"con un navegador web normal usando un túnel proxy I2P (\"eepproxy\"). Además \n" -"usamos la misma técnica para ejecutar redes IRC anónimas (donde el servidor\n" -"IRC esta hospedado anónimamente y los clientes normales de IRC usan un túnel I2P\n" -"para conectarse). Se están haciendo esfuerzos para programar otras palicaciones, \n" -"como una aplicación optimizada para compartir archivos (a la \n" -"BitTorrent), \n" -"almacenamiento de datos distribuido (a la Freenet / \n" -"MNet), y un sistema de blogs totalmente\n" -"distribuido LiveJournal, pero estos \n" -"no están totalmente listos todavía. " +"El túnel I2P (I2Ptunnel) es actualmente usado para permitir a la gente " +"tener su propia web anónima (\"eepsite\"), ejecutando un servidor web " +"normal y creando un túnel 'servidor' hacia ella, esta eepsite podrá ser " +"accedida anónimamente sobre I2P con un navegador web normal usando un " +"túnel proxy I2P (\"eepproxy\"). Además usamos la misma técnica para " +"ejecutar redes IRC anónimas (donde el servidor IRC esta hospedado " +"anónimamente y los clientes normales de IRC usan un túnel I2P para " +"conectarse). Se están haciendo esfuerzos para programar otras " +"aplicaciones, como una aplicación optimizada para compartir archivos (a " +"la \n" +"BitTorrent), almacenamiento de" +" datos distribuido (a la Freenet /MNet), y un sistema de blogs " +"totalmente distribuido LiveJournal, pero estos \n" +"no están listos totalmente todavía. " #: i2p2www/pages/site/about/intro.html:76 msgid "" @@ -3644,16 +4460,18 @@ msgid "" " \n" "certain circumstances the technique could be appropriate." msgstr "" -"I2P no es inherentemente una red \"outproxy\" - el cliente al que envías\n" -"un mensaje es un identificador criptográfico, no una dirección IP, por lo cual\n" -"el mensaje debe ser enviado a alguien que use I2P. Aunque es posible que \n" -"un cliente sea un 'outproxy', permitiendo el uso de una conexión a Internet \n" -"anónima, el \"eepproxy\" aceptará URLs normales (no I2P) (e.g. \"http://www.i2p.net\")\n" -"y las reenviará a una destinación específica que usa un proxy HTTP \n" -"squid, permitiendo navegar Internet \n" -"de una forma anónima y fácil. Outproxies como estos no son siempre viables por\n" -"varias razones (incluyendo el coste de tener uno y los problemas de anonimato y\n" -"seguridad que acarrea), pero en ciertas circunstancias su uso puede ser apropiado" +"I2P no es inherentemente una red \"outproxy\" - el cliente al que envías " +"un mensaje es un identificador criptográfico, no una dirección IP, por lo" +" cual el mensaje debe ser enviado a alguien que use I2P. Aunque es " +"posible que un cliente sea un 'outproxy', permitiendo el uso de una " +"conexión a Internet anónima, el \"eepproxy\" aceptará URLs normales no " +"I2P (e.g. \"http://www.i2p.net\") y las reenviará a una destinación " +"específica que usa un proxy HTTP squid, permitiendo navegar Internet de una forma anónima" +" y fácil. Outproxies como estos no son siempre viables por varias " +"razones (incluyendo el coste de tener uno y los problemas de anonimato y " +"seguridad que acarrea), pero en ciertas circunstancias su uso puede ser " +"apropiado." #: i2p2www/pages/site/about/intro.html:90 #, python-format @@ -3677,19 +4495,21 @@ msgid "" "describes \n" "our schedule." msgstr "" -"El equipo de desarrollo de I2P es un grupo abierto, todos \n" -"los que estén interesados son bienvenidos a involucrarse\n" -"en el proyecto, y todo el código es libre. El núcleo de I2P \n" -"y la implementación del ruter están en java (actualmente trabajando con sun y kaffe, \n" -"el soporte para gjc está planeado para mas adelante), y hay un simpl \n" -"socket based API para acceder a la red desde otros lenguajes (con una librería C \n" -"disponible, y con Python y Perl en desarrollo). La red está en estos momentos en desarrollo \n" -"activamente y aún no ha alcanzado la versión 1.0, pero la actual \n" -"hoja de ruta describe nuestro programa." +"El equipo de desarrollo de I2P es un grupo " +"abierto, todos los que estén interesados son bienvenidos a involucrarse en el proyecto, y todo el código " +"es libre. El núcleo de I2P y la " +"implementación del ruter están en java (actualmente trabajando con sun y " +"kaffe, el soporte para gjc está planeado para mas adelante), y hay un API simple para acceder a la red desde otros " +"lenguajes (con una librería C disponible, y con Python y Perl en " +"desarrollo). La red está en estos momentos en desarrollo activamente y " +"aún no ha alcanzado la versión 1.0, pero la actual hoja de ruta describe nuestro programa." #: i2p2www/pages/site/about/media.html:2 i2p2www/pages/site/about/media.html:4 msgid "Presentations on I2P" -msgstr "" +msgstr "Presentaciones sobre I2P" #: i2p2www/pages/site/about/media.html:5 #, python-format @@ -3698,22 +4518,27 @@ msgid "" "Links to research papers on I2P are available here." msgstr "" +"Los siguientes enlaces son presentaciones, vídeos y tutoriales sobre I2P." +" Los enlaces para investigación sobre I2P están disponibles aquí." #: 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 "" +msgstr "Para solicitar añadidos a esta web por favor envíelos a %(email)s." #: i2p2www/pages/site/about/media.html:11 msgid "" "\n" "Newest links are at the bottom of each section." msgstr "" +"\n" +"Los enlaces mas nuevos al final de cada sección." #: i2p2www/pages/site/about/media.html:16 msgid "Presentations" -msgstr "" +msgstr "Presentaciones" #: i2p2www/pages/site/about/media.html:19 #, python-format @@ -3723,6 +4548,9 @@ msgid "" "transcript\n" "Lance James (0x90), February 2002." msgstr "" +"IIP Presentación en CodeCon MP3 audio transcripción Lance James (0x90), Febrero" +" 2002." #: i2p2www/pages/site/about/media.html:27 #, python-format @@ -3732,6 +4560,9 @@ msgid "" "slides\n" "Lance James (0x90), September 2002." msgstr "" +"IIP Presentación en ToorCon MP3 audio diapositivas Lance James (0x90), Septiembre " +"2002." #: i2p2www/pages/site/about/media.html:35 #, python-format @@ -3742,6 +4573,10 @@ msgid "" "To Be or I2P (PDF presentation),\n" "Jens Kubieziel, 24C3 Berlin, December 28, 2007." msgstr "" +"To Be or I2P (Youtube Video) Una " +"introducción a las comunicaciones anónimas con I2P. To Be or I2P (PDF presentation), Jens Kubieziel," +" 24C3 Berlin, Diciembre 28, 2007." #: i2p2www/pages/site/about/media.html:44 #, python-format @@ -3750,6 +4585,8 @@ msgid "" "Lars Schimmer,\n" "March 14-15, 2009" msgstr "" +"Vídeo de charla I2P en Chemnitz Linux Tag, " +"Lars Schimmer, Marzo 14-15, 2009" #: i2p2www/pages/site/about/media.html:50 #, python-format @@ -3759,6 +4596,9 @@ msgid "" "\"Hackers for Human Rights\".\n" "MP3 audio" msgstr "" +"HOPE New York Julio 17, 2010 - Vista rápida sobre I2P by zzz, al final de" +" la charla de Adrian Hong \\\"Hackers for Human Rights\\\". MP3 audio" #: i2p2www/pages/site/about/media.html:56 #, python-format @@ -3766,6 +4606,8 @@ msgid "" "Into the I2P Darknet: Welcome to Cipherspace\n" "Adrian Crenshaw. Schmoocon Firetalk, January 2011" msgstr "" +"Into the I2P Darknet: Welcome to Cipherspace" +" Adrian Crenshaw. Schmoocon Firetalk, Enero 2011" #: i2p2www/pages/site/about/media.html:61 #, python-format @@ -3777,6 +4619,10 @@ msgid "" " 2011.\n" "I2P covered from 10:00 to 20:00 in the video." msgstr "" +"Usando la tecnología para mejorar la " +"libertad (Youtube Vídeo) Eric Johnson. Agora I/O Unconference, Marzo " +"27, 2011. I2P desde 10:00 a 20:00 en el vídeo." #: i2p2www/pages/site/about/media.html:69 #, python-format @@ -3784,6 +4630,8 @@ msgid "" "The Bright side of darknets, FOSSCOMM Patras May " "2011" msgstr "" +"The Bright side of darknets, FOSSCOMM Patras Mayo" +" 2011" #: i2p2www/pages/site/about/media.html:73 #, python-format @@ -3793,6 +4641,9 @@ msgid "" "Adrian Crenshaw, AIDE, July " "11-15, 2011." msgstr "" +"Common Darknet Weaknesses⏎ (Vídeo en Youtube)⏎ " +"Adrian Crenshaw, AIDE, Julio " +"11-15, 2011" #: i2p2www/pages/site/about/media.html:79 #, python-format @@ -3800,6 +4651,8 @@ msgid "" "I2P / Tor Workshop Notes\n" "Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011." msgstr "" +"I2P / Tor Workshop Notes⏎ Adrian Crenshaw. DEF " +"CON 19, Las Vegas, Agosto 6, 2011." #: i2p2www/pages/site/about/media.html:84 #, python-format @@ -3811,16 +4664,23 @@ msgid "" "Slides (ppt)\n" "Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011." msgstr "" +"Cipherspaces/Darknets: An Overview Of Attack " +"Strategies -⏎ DEF CON Vesión en vivo (Vídeo de Youtube),⏎ versión de \"estudio\" (Youtube Video),⏎ Slides (ppt)⏎ Adrian Crenshaw. DEF CON 19, Las " +"Vegas, Agosto 7, 2011." #: i2p2www/pages/site/about/media.html:94 msgid "" "Modern cipherspace ecosystems, 0x375 " "0x06 4/11/2011" msgstr "" +"Modern cipherspace ecosystems, 0x375 " +"0x06 4/11/2011" #: i2p2www/pages/site/about/media.html:100 msgid "Tutorials" -msgstr "" +msgstr "Tutoriales" #: i2p2www/pages/site/about/media.html:103 #, python-format @@ -3830,6 +4690,9 @@ msgid "" "This guide will show you how to install I2P in Windows XP.\n" "By Telecomix" msgstr "" +"I2P Windows Tutorial (Youtube Video)⏎ Esta guía " +"le mostrará cono instalar I2P en Windows. Por Telecomix" #: i2p2www/pages/site/about/media.html:111 #, python-format @@ -3839,6 +4702,9 @@ msgid "" "This will guide you through how to install I2P on a Debian Linux System.\n" "By Telecomix" msgstr "" +"I2P Debian Tutorial⏎ (Vídeo en Youtube) Esta " +"guía le mostrará como instalar I2P en sistemas basados en Debian. Por Telecomix" #: i2p2www/pages/site/about/media.html:119 #, python-format @@ -3848,6 +4714,9 @@ msgid "" "How to set up an anonymous web site in I2P.\n" "By Telecomix" msgstr "" +"How to set up anonymous site in I2P⏎ (Vídeo en " +"Youtube) Como configurar una web anónima en I2P. Por Telecomix" #: i2p2www/pages/site/about/media.html:126 #, python-format @@ -3858,6 +4727,9 @@ msgid "" "irc.telecomix.i2p.\n" "By Telecomix" msgstr "" +"I2P Tutorial Mac OS X⏎ (Vídeo en Youtube) Un " +"tutorial de como ejecutar I2P en os X y como conectar a " +"irc.telecomix.i2p. Por Telecomix" #: i2p2www/pages/site/about/media.html:133 #, python-format @@ -3868,6 +4740,9 @@ msgid "" "Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n" "By Telecomix" msgstr "" +"Felix Atari explains the basic principles of I2P" +" (Vídeo en Youtube) Agent Felix Atari of the Telecomix Crypto Munitions " +"Bureau. Por Telecomix" #: i2p2www/pages/site/about/media.html:140 #, python-format @@ -3878,6 +4753,9 @@ msgid "" "This tutorial shows how to install and configure software needed to " "access I2P." msgstr "" +"How to get onto I2P, the anonymous P2P Darknet " +"(Windows Install) (Vídeo en Youtube) Esta guía muestra como instalar " +"y configurar las aplicaciones necesarias para acceder a I2P." #: i2p2www/pages/site/about/media.html:146 #, python-format @@ -3886,6 +4764,8 @@ msgid "" "(Youtube Video)\n" "How to install I2P on Ubuntu." msgstr "" +"How to connect to I2P (Vídeo en Youtube) Como " +"instalar I2P en Ubuntu." #: i2p2www/pages/site/about/media.html:152 #, python-format @@ -3895,6 +4775,8 @@ msgid "" "Adrian Crenshaw.\n" "January 2011" msgstr "" +"Installing the I2P darknet software in Linux⏎ " +"(Vídeo)⏎ Adrian Crenshaw.⏎ Enero 2011" #: i2p2www/pages/site/about/media.html:159 #, python-format @@ -3903,10 +4785,12 @@ msgid "" "(Youtube Video)\n" "Adrian Crenshaw.\n" msgstr "" +"Short garlic routing animation (Vídeo en " +"Youtube) Adrian Crenshaw.\n" #: i2p2www/pages/site/about/media.html:167 msgid "Articles and Interviews" -msgstr "" +msgstr "Artículos y entrevistas" #: i2p2www/pages/site/about/media.html:170 #, python-format @@ -3916,6 +4800,8 @@ msgid "" "Part 2\n" "July 26, 2002." msgstr "" +"0x90 Entrevistado por DistributedCity Parte 1 " +"Parte 2 Julio 26, 2002." #: i2p2www/pages/site/about/media.html:178 #, python-format @@ -3925,6 +4811,8 @@ msgid "" "English translation\n" "October 31, 2002." msgstr "" +"0x90 Entrevistado por El Pais (original en Castellano) Traducción al inglés Octubre 31, 2002." #: i2p2www/pages/site/about/media.html:185 #, python-format @@ -3932,6 +4820,8 @@ msgid "" "2003 Business Week article referencing " "invisiblenet" msgstr "" +"2003 Business Week article referencing " +"invisiblenet" #: i2p2www/pages/site/about/media.html:189 #, python-format @@ -3941,6 +4831,8 @@ msgid "" "(German)\n" "November 2007." msgstr "" +"Artículo del Netzwelt.de sobre como permanecer " +"anónimos en Internet (Alemán) Noviembre 2007." #: i2p2www/pages/site/about/media.html:195 #, python-format @@ -3950,6 +4842,9 @@ msgid "" "German translation\n" "Russian translation" msgstr "" +"zzz entrevistado por gulli.com⏎ Marzo 2009⏎ traducción en alemán traducción en ruso" #: i2p2www/pages/site/about/media.html:204 #, python-format @@ -3958,6 +4853,8 @@ msgid "" "(mp3)\n" "August 18, 2011" msgstr "" +"zzz entrevistado en el podcast diario de InfoSec Ep." +" 454 (mp3)⏎ Agosto 18, 2011" #: i2p2www/pages/site/about/media.html:209 #, python-format @@ -3966,6 +4863,8 @@ msgid "" "Jonathan Cox,\n" "November 11, 2011." msgstr "" +"I2P - Anonymity for the Masses,⏎ Jonathan Cox,⏎ " +"Noviembre 11, 2011." #: i2p2www/pages/site/about/media.html:215 #, python-format @@ -3974,6 +4873,8 @@ msgid "" "Podcast Ep. 596 (mp3)\n" "February 16, 2012" msgstr "" +"zzz y Lance James entrevistados en el podcast diario " +"de InfoSec Ep. 596 (mp3) Febrero 16, 2012" #: i2p2www/pages/site/about/team.html:4 msgid "I2P Project Members" @@ -3989,9 +4890,9 @@ msgid "" "network.\n" "Get involved!" msgstr "" -"Somos un pequeño grupo de personas repartidas por varios continentes, trabajando\n" -"para mejorar diferentes aspectos del proyecto y discutir el diseño de la red.\n" -"¿Unete!" +"Somos un pequeño grupo de personas repartidas por varios continentes, " +"trabajando para mejorar diferentes aspectos del proyecto y discutir el " +"diseño de la red.¿Únete!" #: i2p2www/pages/site/about/team.html:14 msgid "Admin" @@ -3999,7 +4900,7 @@ msgstr "Administradores" #: i2p2www/pages/site/about/team.html:15 msgid "Project Manager" -msgstr "Director del protecyo" +msgstr "Director del proyecto" #: i2p2www/pages/site/about/team.html:17 msgid "point of contact of last resort" @@ -4041,11 +4942,11 @@ msgstr "administrador de los proyectos de los mirrors" #: i2p2www/pages/site/about/team.html:40 #, python-format msgid "Monotone guru" -msgstr "El código actual está disponible en monotone." +msgstr "Gurú de Monotone" #: i2p2www/pages/site/about/team.html:42 msgid "manage the public monotone repositories" -msgstr "administrador de los repositorios públlicos de monotone" +msgstr "administrador de los repositorios públicos de monotone" #: i2p2www/pages/site/about/team.html:45 msgid "Packager; Linux" @@ -4076,17 +4977,16 @@ msgid "Update admin" msgstr "Administrador de actualizaciones" #: i2p2www/pages/site/about/team.html:62 -#, fuzzy msgid "Monitors and recruits in-network update hosts" -msgstr "Supervisa y recluta hosts de la red" +msgstr "Supervisa y adquiere hosts de actualizaciones en la red" #: i2p2www/pages/site/about/team.html:65 msgid "Reseed admin" -msgstr "" +msgstr "Administrador de la resiembra" #: i2p2www/pages/site/about/team.html:67 msgid "Monitors, advises and recruits reseed hosts" -msgstr "" +msgstr "Supervisa, asesora y adquiere hosts de resiembra" #: i2p2www/pages/site/about/team.html:70 msgid "Security expert" @@ -4116,7 +5016,7 @@ msgstr "vacante" #: i2p2www/pages/site/about/team.html:72 msgid "threat model / crypto expert" -msgstr "experto en modelos de amenazas / encifrados" +msgstr "modelos de amenazas / experto en cifrados" #: i2p2www/pages/site/about/team.html:75 msgid "User Advocate" @@ -4150,15 +5050,15 @@ msgstr "Administrador de la página web" #: i2p2www/pages/site/about/team.html:92 msgid "manage the public project website content" -msgstr "administrador del contenido del la web de l proyecto" +msgstr "administrador del contenido del la web del proyecto" #: i2p2www/pages/site/about/team.html:95 msgid "News Admin" -msgstr "Aministrador de noticias" +msgstr "Administrador de noticias" #: i2p2www/pages/site/about/team.html:97 msgid "manage router console news feed" -msgstr "administrador de las noticias de la consola del ruter" +msgstr "encargado de las noticias de la consola del ruter" #: i2p2www/pages/site/about/team.html:100 msgid "Director of passion" @@ -4166,7 +5066,7 @@ msgstr "Director de pasión" #: i2p2www/pages/site/about/team.html:102 msgid "community motivator" -msgstr "" +msgstr "Motivador de la comunidad" #: i2p2www/pages/site/about/team.html:106 #: i2p2www/pages/site/get-involved/bounties/index.html:30 @@ -4180,16 +5080,16 @@ msgstr "Encargado del núcleo" #: i2p2www/pages/site/about/team.html:109 msgid "lead dev for the SDK and router" -msgstr "lider del SDK y del ruter" +msgstr "encargado del SDK y del ruter" #: i2p2www/pages/site/about/team.html:112 #, python-format msgid "I2P mail lead" -msgstr "Encargado deI2P mail" +msgstr "Encargado de I2P mail" #: i2p2www/pages/site/about/team.html:114 msgid "organize and develop the i2p mail system" -msgstr "organiza y desarrolla el istema de mail de I2P" +msgstr "organiza y desarrolla el sistema de mail de I2P" #: i2p2www/pages/site/about/team.html:117 #, python-format @@ -4234,7 +5134,7 @@ msgstr "Encargado de I2Phex " #: i2p2www/pages/site/about/team.html:139 msgid "I2Phex Gnutella client" -msgstr "clente de I2Phex Gnutella" +msgstr "cliente de I2Phex Gnutella" #: i2p2www/pages/site/about/team.html:142 #, python-format @@ -4243,7 +5143,7 @@ msgstr "Encargado de I2PSnark" #: i2p2www/pages/site/about/team.html:144 msgid "Maintains the integrated Bittorrent client" -msgstr "Mantiene el cliente Bittorrent" +msgstr "Mantiene el cliente Bittorrent integrado" #: i2p2www/pages/site/about/team.html:147 #, python-format @@ -4263,7 +5163,7 @@ msgstr "Encargado de Syndie" #: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2 #: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3 msgid "Syndie development" -msgstr "Desarrollode Syndie" +msgstr "Desarrollo de Syndie" #: i2p2www/pages/site/about/team.html:157 msgid "Susimail lead" @@ -4307,7 +5207,7 @@ msgstr "Francés" #: i2p2www/pages/site/about/team.html:186 msgid "German" -msgstr "Aleman" +msgstr "Alemán" #: i2p2www/pages/site/about/team.html:190 msgid "Russian" @@ -4335,7 +5235,7 @@ msgstr "Desarrollador de fire2pe, mejoras de la consola" #: i2p2www/pages/site/about/team.html:211 msgid "desktopgui, dijjer port" -msgstr "" +msgstr "entorno de escritorio, puerto dijjer" #: i2p2www/pages/site/about/team.html:215 msgid "Debian/Ubuntu Packager and PPA maintainer" @@ -4343,15 +5243,15 @@ msgstr "Encargado de los paquetes para Debian/Ubuntu y del PPA" #: i2p2www/pages/site/about/team.html:220 msgid "Help needed on many fronts!" -msgstr "Se necesta diversas formas de ayuda" +msgstr "Se necesita diversas formas de ayuda" #: i2p2www/pages/site/about/team.html:224 msgid "Past contributors" -msgstr "" +msgstr "Participantes pasados" #: i2p2www/pages/site/about/team.html:226 msgid "I2PTunnel development, ministreaming library" -msgstr "Desarrollo de I2PTunnel, librería de miniflujos" +msgstr "Desarrollo de I2PTunnel, librería de ministreaming" #: i2p2www/pages/site/about/team.html:230 msgid "Project lead, Syndie lead" @@ -4373,100 +5273,102 @@ msgstr "Trabajo en I2Phex" #: i2p2www/pages/site/about/team.html:254 msgid "Python SAM library, attack simulations" -msgstr "" +msgstr "librería SAM en Python, simulaciones de ataques" #: i2p2www/pages/site/about/team.html:258 msgid "i2pmail development" -msgstr "" +msgstr "Desarrollo de i2pmail" #: i2p2www/pages/site/about/team.html:262 msgid "Syndie help" -msgstr "" +msgstr "Ayuda de Syndie" #: i2p2www/pages/site/about/team.html:266 msgid "i2p mail,susimail and susidns apps" -msgstr "" +msgstr "Mail de i2p, susimail y aplicaciones susidns" #: i2p2www/pages/site/about/team.html:270 msgid "I2Phex (port of Phex to I2P)" -msgstr "" +msgstr "I2Phex (versión de Phex para I2P)" #: i2p2www/pages/site/about/team.html:274 msgid "addressbook,i2p-bt,syndie client" -msgstr "" +msgstr "libreta de direcciones, i2p-bt,cliente syndie" #: i2p2www/pages/site/about/team.html:278 msgid "organize and develop the i2p-bt BitTorrent port" -msgstr "" +msgstr "organización y desarrollo de la versión de Bittorrent i2p-bt" #: i2p2www/pages/site/about/team.html:282 msgid "addressbook, i2p-bt, syndie client development" -msgstr "" +msgstr "libreta de direcciones, i2p-bt, y desarrollo del cliente de syndie" #: i2p2www/pages/site/about/team.html:286 msgid "encryption and signature routines, I2PIM" -msgstr "" +msgstr "rutinas de cifrado y firma, I2P IM" #: i2p2www/pages/site/about/team.html:290 msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)" -msgstr "" +msgstr "código jython de SAM, trabajo en stasher (DHT) y v2v (VoI2P)" #: i2p2www/pages/site/about/team.html:294 msgid "installer, systray, bogobot" -msgstr "" +msgstr "instalador, bandeja de sistema, bogobot" #: i2p2www/pages/site/about/team.html:298 msgid "jbigi development, wiki migration, doc cleanup" -msgstr "" +msgstr "desarrollo de jbigi, migración de la wiki, limpieza de la documentación" #: i2p2www/pages/site/about/team.html:302 msgid "java debugging and client development on I2PTunnel and the router console" msgstr "" +"depuración de java y desarrollo del cliente en I2PTunnel y en la consola " +"del ruter" #: i2p2www/pages/site/about/team.html:306 msgid "SAM perl module" -msgstr "" +msgstr "Módulo perl de SAM" #: i2p2www/pages/site/about/team.html:310 msgid "i2psnark work" -msgstr "" +msgstr "trabajo en i2psnark" #: i2p2www/pages/site/about/team.html:314 msgid "java cleanup" -msgstr "" +msgstr "limpieza de java" #: i2p2www/pages/site/about/team.html:318 msgid "docs. wiki migration" -msgstr "" +msgstr "documentos, migración de la wiki" #: i2p2www/pages/site/about/team.html:322 msgid "translations into French" -msgstr "" +msgstr "traducción al francés" #: i2p2www/pages/site/about/team.html:326 msgid "C port of jcpuid" -msgstr "" +msgstr "port en C de jcpuid" #: i2p2www/pages/site/about/team.html:330 msgid "C# SAM library, pants, fortuna integration" -msgstr "" +msgstr "librería C# de SAM, integración de fortuna" #: i2p2www/pages/site/about/team.html:334 msgid "libSAM" -msgstr "" +msgstr "libSAM" #: i2p2www/pages/site/about/team.html:338 #: i2p2www/pages/site/about/team.html:342 msgid "i2p-bt tracker development" -msgstr "" +msgstr "desarrollo del tracker i2p-bt" #: i2p2www/pages/site/about/team.html:346 msgid "Console and website themes" -msgstr "" +msgstr "Temas de la consola y la web" #: i2p2www/pages/site/about/team.html:349 msgid "… and many others" -msgstr "" +msgstr "… y muchas otras" #: i2p2www/pages/site/about/performance/future.html:2 msgid "Future Performance Improvements" @@ -4504,6 +5406,8 @@ msgid "" "For past performance improvements see the \n" "Performance History." msgstr "" +"Para ver las mejoras de rendimiento pasadas vea " +"Historial de rendimiento." #: i2p2www/pages/site/about/performance/future.html:20 msgid "Better peer profiling and selection" @@ -5012,6 +5916,8 @@ msgid "" "How does I2P work, why is it slow, and why does it not use my full " "bandwidth?" msgstr "" +"¿Cómo funciona I2P, porqué es lento, y por que no utiliza todo el ancho " +"de banda?" #: i2p2www/pages/site/about/performance/index.html:7 msgid "" @@ -5023,6 +5929,10 @@ msgid "" " a most\n" "emphatic yes." msgstr "" +"Probablemente una de las preguntas más frecuentes es ¿cómo de rápido es " +"I2P?, y parece que a nadie le gusta la respuesta - \"depende\". Después " +"de probar I2P, la siguiente cosa que preguntan es ¿será más rápido?, y la" +" respuesta a eso es un enfático ." #: i2p2www/pages/site/about/performance/index.html:14 msgid "" @@ -5042,6 +5952,20 @@ msgid "" "other routers could be under load just as one router tests, but be free " "if the second router tests." msgstr "" +"I2P es un red totalmente dinámica. Cada cliente es conocido por otros " +"nodos y prueba los nodos conocidos localmente para comprobar su " +"accesibilidad y su capacidad. Sólo los nodos accesibles y capaces son " +"guardados en la NetDB local (Esto normalmente es sólo una parte de la " +"red, sobre 500-1000). Cuando I2P construye túneles selecciona los mejores" +" recursos de esta fuente. Por ejemplo, sólo unos 20-50 nodos están " +"disponibles para construir túneles. Ya que las pruebas se hacen cada " +"minuto la fuente de los nodos usados cambia cada minuto. Cada nodo I2P " +"conoce una parte de la red total, haciendo que cada ruter tenga una lista" +" diferente de nodos I2P para ser usados como túneles. Incluso si dos " +"ruters tienen la misma subred de nodos conocidos las pruebas de " +"accesibilidad y capacidad mostrarán diferentes resultados, ya que cuando " +"un ruter hace las pruebas otros ruters pueden estar bajo carga, pero " +"estar libre cuando es un segundo ruter el que hace las pruebas." #: i2p2www/pages/site/about/performance/index.html:23 msgid "" @@ -5053,6 +5977,12 @@ msgid "" "And because every I2P node has different tunnels built, no two I2P nodes " "have the same tunnel sets." msgstr "" +"El texto anterior explica por que cada nodo I2P usa diferentes nodos para" +" construir sus túneles. Por que cada nodo I2P tienen una latencia y ancho" +" de banda diferente, los túneles ( que se construyen con estos nodos) " +"tienen valores diferentes de latencia y ancho de banda. Y ya que cada " +"nodo I2P tiene diferentes nodos construidos, no hay dos nodos I2P con la " +"misma configuración de túneles." #: i2p2www/pages/site/about/performance/index.html:29 msgid "" @@ -5062,16 +5992,22 @@ msgid "" "This adds up to 12 hops (aka 12 different I2P nodes) for a full roundtrip" " client-server-client." msgstr "" +"Un servidor/cliente se conoce como \"destinación\" y cada destinación " +"tiene al menos un túnel de entrada y otro de salida. Por defecto son 3 " +"saltos por túnel. Esto suman 12 saltos (osea 12 diferentes nodos I2P) " +"para una ida y vuelta completa cliente-servidor-cliente." #: 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 "" +"Cada paquete de datos es enviado a través de otros 6 nodos I2P hasta que " +"alcanza el servidor:" #: i2p2www/pages/site/about/performance/index.html:40 msgid "and on way back 6 different I2P nodes:" -msgstr "" +msgstr "y de vuelta por 6 nodos I2P diferentes:" #: i2p2www/pages/site/about/performance/index.html:47 msgid "" @@ -5090,6 +6026,19 @@ msgid "" "the whole tunnel is limited to 5 kb/sec, independent of the \n" "latency and other limitations." msgstr "" +"Como la mayoría del tráfico I2P (www, torrent, ...) necesita paquetes ack" +" hasta que la nueva información es enviada, necesita esperar hasta que un" +" paquete ack regrese del servidor. Al final: envía información, espera " +"por ack, envía mas información, espera por ack... Y ya que el RTT " +"(RoundTripTime) añade latencia por cada nodo individual I2P y por cada " +"conexión de esta ida y vuelta, normalmente tarda de 1-3 segundos hasta " +"que un paquete ack regresa al cliente. Además el funcionamiento interno " +"del transporte de TCP y de I2P hacen que un paquete de información tenga " +"un tamaño limitado y no pueda ser tan grande como desearíamos que fuese. " +"Estas condiciones unidas crean un límite de ancho de banda por túnel de " +"20-50 kbyte/sec. Pero, si SÓLO un salto del túnel tiene solamente 5 " +"kb/sec de ancho de banda para usar, el túnel completo estará limitado a 5" +" kb/sec, independientemente de las latencia y otras limitaciones." #: i2p2www/pages/site/about/performance/index.html:57 msgid "" @@ -5108,6 +6057,18 @@ msgid "" "sometimes break tunnels and connections, as seen on the IRC2P Network in " "loss of connection (ping timeout) or on when using eepget." msgstr "" +"Debido al cifrado usado y otras configuraciones de I2P (como se " +"construyen los túneles, latencia, ...) se utiliza bastante tiempo de la " +"CPU para crear un túnel. Esto es por lo que una destinación solo tiene " +"permitido un máximo de 6 túneles de de entrada y 6 de salida para enviar" +" información. Con un máximo de 50 kb/sec por túnel una destinación podría" +" usar aproximadamente 300 kb/sec (en realidad podría ser más si se " +"utilizan túneles más cortos con poco o ningún anonimato). Los túneles " +"usados son eliminados cada 10 minutos y se crean unos nuevos. Estos " +"cambios en los túneles (y a veces los clientes que apagan de golpe usando" +" \"apagar inmediatamente\" o por caídas de corriente) a veces rompen los " +"túneles y las conexiones, como se puede ver en las pérdidas de conexiones" +" en el IRC2P (ping timeout) o cuando se está usando eepget." #: i2p2www/pages/site/about/performance/index.html:66 msgid "" @@ -5123,6 +6084,15 @@ msgid "" "there is only a fraction of available bandwidth/capacity available for " "use." msgstr "" +"Con un número limitado de destinaciones y un número limitado de túneles " +"por destinación, un nodo I2P sólo utiliza un número limitado de túneles a" +" través de otros nodos de I2P. Por ejemplo, si en el ejemplo de arriba un" +" nodo I2P es \"hop1\", sólo tendríamos 1 túnel participante originado en " +"el cliente. Si sumamos toda la red I2P, sólo un número limitado de " +"túneles participantes pueden ser construidos con una cantidad limitada de" +" ancho de banda. Si uno distribuye todo ese número limitado entre el " +"número de nodos I2P, sólo hay disponible una fracción del ancho de " +"banca/capacidad disponible para el uso." #: i2p2www/pages/site/about/performance/index.html:73 msgid "" @@ -5134,6 +6104,12 @@ msgid "" "I2P attempts to spread the load across a lot of I2P nodes because of this" " reason." msgstr "" +"Para permanecer anónimos un ruter no debería usarse por toda la red para " +"construir túneles, si un solo ruter funciona como túnel para TODOS los " +"nodos de I2P se convierte en el centro de un problema, así como el punto " +"central para obtener IPs e información de los clientes. Esto no es bueno." +" I2P intenta repartir la carga a través de muchos nodos I2P justo por " +"esta razón." #: i2p2www/pages/site/about/performance/index.html:79 msgid "" @@ -5147,6 +6123,14 @@ msgid "" " type.\n" "This limits the amount of traffic routed across your I2P node as well." msgstr "" +"Otro punto a tener en cuenta es la red mesh completa. Cada conexión " +"salto-a-salto utiliza una conexión TCP o UDP en los nodos de I2P. Con " +"1000 conexiones uno ve 1000 conexiones TCP. Eso es bastante y algunos " +"ruters domésticos o de oficina (DSL, cable...) sólo permiten un cierto " +"número de conexiones ( o simplemente se vuelven locos si se usa un número" +" mayor de X conexiones). I2P intenta limitar esas conexiones por debajo " +"de 1500 para UDP y TCP. Esto limita también la cantidad de tráfico " +"enrutado a través de su nodo I2P." #: i2p2www/pages/site/about/performance/index.html:86 msgid "" @@ -5163,6 +6147,16 @@ msgid "" "will \n" "be lower after a restart/shutdown for a minimum of 24h." msgstr "" +"En resumen, I2P es muy complejo y no hay una forma fácil de determinar " +"con precisión por qué su nodo no se utiliza. Si su ruter es accesible y " +"tiene mas de 128 kbyte/sec de ancho de banda compartido y está accesible " +"24/7, debería ser usado después de algún tiempo de tener tráfico " +"participante. Si no esta activo siempre, las pruebas de otros nodos sobre" +" su nodo I2P les dirá: no está accesible. Esto bloquea su nodo por al " +"menos 24h para los otros nodos. Por lo cual los otros nodos que han " +"testado su nodo cuando estaba caído no utilizaran su nodo para construir " +"túneles durante 24h. Esto es por lo que su tráfico será menor después de " +"un reinicio/apagado por lo menos durante 24h." #: i2p2www/pages/site/about/performance/index.html:94 msgid "" @@ -5172,10 +6166,14 @@ msgid "" "It will be faster if you use I2P and build more tunnels, e.g. use a " "torrent or www for some time." msgstr "" +"Además: otros nodos I2P necesitan conocer su ruter I2P para probar la " +"accesibilidad y capacidad. Toma tiempo que otros nodos lleguen a conocer " +"su nodo. Será más rápido si utiliza I2P y crea más túneles, por ejemplo " +"usando torrents o webs i2p durante algún tiempo." #: i2p2www/pages/site/about/performance/index.html:99 msgid "Performance Improvements" -msgstr "" +msgstr "Mejoras en el rendimiento" #: i2p2www/pages/site/about/performance/index.html:101 #, python-format @@ -5183,10 +6181,12 @@ msgid "" "For possible future performance improvements see\n" "Future Performance Improvements." msgstr "" +"Para futuras mejoras en el rendimiento vea mejoras" +" futuras en el rendimiento." #: i2p2www/pages/site/comparison/freenet.html:2 msgid "I2P Compared to Freenet" -msgstr "" +msgstr "Comparación de I2P con Freenet" #: i2p2www/pages/site/comparison/freenet.html:8 msgid "" @@ -5200,6 +6200,12 @@ msgid "" "communication, such as \n" "static websites and message boards." msgstr "" +"Freenet es una red completamente distribuida, red anónima de publicación " +"par a par, que ofrece una forma segura de almacenar datos, y también " +"enfocada en solucionar los problemas de carga y desbordamientos. Mientras" +" que Freenet está diseñada como un almacén distribuido de datos, la gente" +" ha construido aplicaciones sobre el sistema para tener otras " +"comunicaciones anónimas genéricas, como webs estáticas y foros." #: i2p2www/pages/site/comparison/freenet.html:16 #, python-format @@ -5222,6 +6228,18 @@ msgid "" "(most recently a port of Tahoe-LAFS)\n" "but nothing is yet ready for general use." msgstr "" +"Comparado con I2P, Freenet ofrece substanciales beneficios - es un " +"sistema distribuido de almacenamiento de datos, mientras que I2P no lo " +"es, permitiendo a la gente obtener al contenido publicado por otros " +"incluso cuando el que lo ha publicado no esté online. Además es capaz de " +"distribuir eficientemente la información más utilizada. I2P ni tiene ni " +"tendrá esta funcionalidad. Por otro lado, hay demasiada redundancia para " +"los usuarios que simplemente quieren comunicarse con otros anónimamente a" +" través de webs, foros, aplicaciones de compartición de archivos, etc. " +"Ha habido varios intentos de desarrollar un sistema de almacenamiento " +"distribuido funcionando sobre I2P, (más recientemente un port de Tahoe-LAFS) pero todavía no está listo para uso " +"general." #: i2p2www/pages/site/comparison/freenet.html:29 msgid "" @@ -5241,6 +6259,16 @@ msgid "" "against an attacker\n" "who does not have the resources necessary to analyze it further." msgstr "" +"Sin ,embargo, e incluso ignorando los problemas de implementación, hay " +"algunas preocupaciones sobre la escalabilidad y el anonimato de algunos " +"algoritmos de Freenet, debido básicamente a la heurística de ruteo de " +"Freenet. La unión de varias técnicas puede desalentar el hacer varios " +"tipos de ataques, y quizás algunos aspectos del algoritmo de ruteo " +"podrían proveer la escalabilidad esperada. Desafortunadamente, no muchos " +"de los análisis sobre los algoritmos han dado resultados satisfactorios, " +"pero aún hay esperanzas. Al final, Freenet nos proporciona bastante " +"anonimato contra cualquier atacante que no tenga los recursos necesarios " +"para análisis completos." #: i2p2www/pages/site/comparison/index.html:2 msgid "Comparing I2P to other projects" @@ -5260,21 +6288,25 @@ msgid "" "serve that purpose well. That said, a few systems stand out for further\n" "comparison. The following have individual comparison pages:" msgstr "" -"Hay muchas otras aplicaciones y proyectos trabajando en comunicaciones\n" -"anónimas e I2P se ha inspirado en muchos de sus esfuerzos. Esto no es una \n" -"lista completa de recursos para el anonimato - ambos \n" -"Anonymity Bibliography\n" -"y los proyectos relacionados con \n" -"GNUnet sirven también para ese mismo propósito. Dicho eso, pocos proyectos \n" -"destacan como para comparaciones adicionals. Los siguientes proyectos \n" -"tienen webs con comparaciones individuales:" +"Hay muchas otras buenas aplicaciones y proyectos trabajando en " +"comunicaciones anónimas, e I2P se ha inspirado en muchos de sus " +"esfuerzos. Esto no es una lista completa de recursos para el anonimato - " +"ambos \n" +"Anonymity " +"Bibliography y los proyectos relacionados con " +"GNUnet sirven también para ese mismo propósito. Dicho eso, pocos " +"proyectos destacan como para comparaciones adicionales. Los siguientes " +"proyectos tienen webs con comparaciones individuales:" #: i2p2www/pages/site/comparison/index.html:20 #, python-format msgid "" "The following are discussed on the other " "networks page:" -msgstr "Los siguentes son discutidos en la página sobre otras redes:" +msgstr "" +"Los siguientes proyectos son discutidos en la página sobre otras redes:" #: i2p2www/pages/site/comparison/index.html:32 #, python-format @@ -5284,16 +6316,18 @@ msgid "" "You may contribute an analysis by entering a new ticket on Trac." msgstr "" -"El contenido de esta página puede ser objeto de actualizaciones, discusion y disputa, y aprobamos comentarios y \n" -"adiciones. Puede contribuir al análisis creando una nueva entrada en el Trac." +"El contenido de esta página puede ser objeto de actualizaciones, " +"discusión y disputa, y aprobamos comentarios y adiciones. Puede " +"contribuir al análisis creando una nueva entrada en el Trac." #: i2p2www/pages/site/comparison/other-networks.html:2 msgid "I2P Compared to Other Anonymous Networks" -msgstr "" +msgstr "Comparación de I2P con otras redes anónimas" #: i2p2www/pages/site/comparison/other-networks.html:5 msgid "The following networks are discussed on this page." -msgstr "" +msgstr "Las siguientes redes son discutidas en esta página." #: i2p2www/pages/site/comparison/other-networks.html:16 #, python-format @@ -5304,6 +6338,11 @@ msgid "" "You may contribute an analysis by entering a\n" "new ticket on %(trac)s." msgstr "" +"La mayoría de las siguientes secciones son bastante viejas y podrían no " +"ser precisas. Para una vista general de comparaciones disponibles, vea " +"lapágina principal de comparaciones entre " +"redes. Pude contribuir al análisis creando un nuevo ticket en el %(trac)s." #: i2p2www/pages/site/comparison/other-networks.html:29 #, python-format @@ -5325,6 +6364,17 @@ msgid "" "not aware \n" "of their use outside of academic environments." msgstr "" +"Morphmix y Tarzan son las dos totalmente distribuidas, redes para a par " +"anónimas con proxies para el anonimato, permitiendo a la gente enviar " +"datos fuera a través de redes de mezcla de baja latencia. Morphmix " +"incluye unos algoritmos de detección de colisiones bastante interesante y" +" defensas contra Sybil, mientras que Tarzan hace uso de la escasez de " +"direcciones IP para obtener lo mismo. Las dos principales diferencias " +"entre estos dos sistemas e I2P tienen que ver con el modelo de amenazas de I2p y su diseño de " +"outproxies (al contrario que el anonimato proporcionado para ambos, el " +"que envía y el que recibe) El código está disponible para ambos sistemas," +" pero no sabemos de su uso fuera de ambientes académicos." #: i2p2www/pages/site/comparison/other-networks.html:153 msgid "" @@ -5345,12 +6395,24 @@ msgid "" "It is too early to say if I2P will meet the needs of users requiring " "extreme protection for email." msgstr "" +"\n" +"Mixminion y Mixmaster son redes para el envío anónimo de emails. " +"Aplicaciones de envío de mensajes de baja latencia sobre I2P (por ejemplo" +" a href=\"http://syndie.i2p2.de/\">Syndie o⏎ I2PBote) podrían ser " +"adecuadas para ese modelo de amenazas, ya que corriendo en paralelo cubre" +" las necesidades de la baja latencia y crea una capa grande de anonimato." +" Soporte para alta latencia en los ruters de I2P puede que se añada en un" +" futuro distante, o puede que no. Es demasiado pronto para decir si I2P " +"podrá cubrir las necesidades de los usuarios con necesidades de " +"protección extrema para sus emails." #: 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 "" +"Al igual que con Tor y Onion routing, Mixminion y Mixmaster toman también" +" la aproximación basada en directorios." #: i2p2www/pages/site/comparison/other-networks.html:177 #, python-format @@ -5383,6 +6445,23 @@ msgid "" "the data, even \n" "if it may be found inadmissible in some courts later)" msgstr "" +"JAP (Proxy Anónimo en Java) es una red de mezcla en cascadas para el " +"anonimato de las solicitudes web que tiene varios nodos centrales " +"(participantes en la cascada) que combinan y mezclan las solicitudes de " +"los clientes a través de una secuencia de nodos (la cascada) antes de " +"enviarlos por un proxy a la web. El alcance, modelo de amenazas y la " +"seguridad son bastantes diferentes a las de I2P, pero para aquellos que " +"requieran bastante anonimato pero no están satisfechos con un servicio de" +" tipo anonimizador, puede venirles bien echarle un ojo a JAP. Un " +"precaución que debe tener todo aquel que se encuentre bajo la " +"jurisdicción de los juzgados alemanes, es que el German Federal Bureau " +"of Criminal Investigation (FBCI) ha montado un ataque con éxito sobre esta red. Incluso aunque el " +"ataque se encontró más tarde ilegal en los juzgados alemanes, la realidad" +" es que la información fue sustraída con éxito. Los jueces cambian sus " +"mentes basados en las circunstancias, y esta es la evidencia de que si el" +" gobierno quisiese la información podrían conseguirla, aunque fuese " +"inadmisible más tarde en un juicio)" #: i2p2www/pages/site/comparison/other-networks.html:199 #, python-format @@ -5421,6 +6500,14 @@ msgid "" "situations where their \n" "particular issues can be addressed." msgstr "" +"Sin embargo, el algoritmo no escala bien del todo - si la aplicación " +"quiere hablar con un par en particular termina haciendo una búsqueda " +"broadcast o un paseo aleatorio (si son afortunados de que eso ocurra). " +"Esto significa que mientras esas redes trabajan bien a escalas pequeñas, " +"no son apropiadas para redes grandes donde alguien quiere ponerse en " +"contacto con un par en particular. Esto no quiere decir que este sistema " +"no tenga ningún valor, sólo que su aplicación está limitada a situaciones" +" donde sus problemas pueden evitarse." #: i2p2www/pages/site/comparison/other-networks.html:222 #, python-format @@ -5434,10 +6521,17 @@ msgid "" "I2P is, of course, open source. However, that source, and our\n" "technical documentation, need much more review." msgstr "" +"Esta era un red de código cerrado orientada a los usuarios iraníes. Tor " +"hizo un buen artículo sobre el tema. Baste decir que siendo " +"de código cerrado y publicado para un país específico no es una buena " +"idea. I2P, por supuesto, es de código libre. Sin embargo, el código, y " +"nuestra documentación técnica, necesitan mucho " +"más revisión." #: i2p2www/pages/site/comparison/other-networks.html:231 msgid "Paid VPN Services" -msgstr "" +msgstr "Servicios VPN de pago" #: i2p2www/pages/site/comparison/other-networks.html:232 #: i2p2www/pages/site/comparison/other-networks.html:238 @@ -5446,16 +6540,18 @@ msgid "" "You may contribute an analysis by entering a\n" "new ticket on %(trac)s." msgstr "" +"Puede contribuir con análisis creando un nuevo ticket en %(trac)s." #: 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 "" +msgstr "Otros" #: i2p2www/pages/site/comparison/tor.html:2 msgid "I2P Compared to Tor" -msgstr "" +msgstr "Comparación de I2P con Tor" #: i2p2www/pages/site/comparison/tor.html:8 #, python-format @@ -5472,6 +6568,16 @@ msgid "" "opposed to I2P's distributed network \n" "database and peer selection." msgstr "" +"Tor y el rutado Onion son ambas redes de proxies anónimas, que permiten a" +" la gente salir a través de su red ya mezclada de baja latencia. Las dos " +"primeras diferencias entre Tor/Onion-Routing e I2P están de nuevo " +"relacionas con las diferencias en el modelo de amenazas y el diseño de " +"los out-proxies ( a través de Tor soporta también servicios ocultos) " +"Además, Tor usa un enfoque basado en directorios - creando un punto " +"central para manejar la 'vista' general de las redes, y además se " +"obtienen más estadísticas, al contrario que la base" +" de datos de la red dsitribuida de I2P y la selección de pares." #: i2p2www/pages/site/comparison/tor.html:22 msgid "" @@ -5485,6 +6591,12 @@ msgid "" "other security issues we've come to know and love with \n" "normal Internet traffic." msgstr "" +"El outproxy de I2P/Tor tiene varias debilidades contra cierto tipo de " +"ataques - una vez que la comunicación deja la red Tor, adversarios " +"pasivos puede hacer más fácilmente ataques de análisis. Además los " +"outproxies tienen acceso al texto en claro transferido en las dos " +"direcciones, y los outproxies son propensos a abusos, y además tenemos " +"que tener en cuenta otros ataques posibles dentro del Internet normal." #: i2p2www/pages/site/comparison/tor.html:34 msgid "" @@ -5495,154 +6607,163 @@ msgid "" "communication layer, they can). In fact, some I2P users\n" "currently take advantage of Tor to outproxy." msgstr "" +"Aún así, mucha gente no tiene por que preocuparse por estas situaciones, " +"ya que no están dentro del modelo de amenazas. Y además esto está fuera " +"del alcance (fromal) de I2P (si la gente desea construir un outproxy " +"sobre la capa de comunicación anónima, pueden hacerlo). De hecho, " +"actualmente algunos usuarios utilizan el outproxy de Tor." #: i2p2www/pages/site/comparison/tor.html:48 msgid "Comparison of Tor and I2P Terminology" -msgstr "" +msgstr "Comparación de la terminología de I2P y Tor" #: i2p2www/pages/site/comparison/tor.html:49 msgid "" "While Tor and I2P are similar in many ways, much of the terminology is " "different." msgstr "" +"Mientras que Tor e I2p tienen algunas similitudes, mucha de la " +"terminología cambia." #: i2p2www/pages/site/comparison/tor.html:54 msgid "Cell" -msgstr "" +msgstr "Celda" #: i2p2www/pages/site/comparison/tor.html:54 #: i2p2www/pages/site/docs/protocol/i2np.html:96 msgid "Message" -msgstr "" +msgstr "Mensaje" #: i2p2www/pages/site/comparison/tor.html:55 msgid "Client" -msgstr "" +msgstr "Cliente" #: i2p2www/pages/site/comparison/tor.html:55 msgid "Router or Client" -msgstr "" +msgstr "Ruter o Cliente" #: i2p2www/pages/site/comparison/tor.html:56 msgid "Circuit" -msgstr "" +msgstr "Circuito" #: i2p2www/pages/site/comparison/tor.html:56 msgid "Tunnel" -msgstr "" +msgstr "Túnel" #: i2p2www/pages/site/comparison/tor.html:57 msgid "Directory" -msgstr "" +msgstr "Directorio" #: i2p2www/pages/site/comparison/tor.html:57 msgid "NetDb" -msgstr "" +msgstr "NetDb, baso de datos de la red" #: i2p2www/pages/site/comparison/tor.html:58 msgid "Directory Server" -msgstr "" +msgstr "Servidor de directorios" #: i2p2www/pages/site/comparison/tor.html:58 msgid "Floodfill Router" -msgstr "" +msgstr "Ruter Floodfill o de relleno" #: i2p2www/pages/site/comparison/tor.html:59 msgid "Entry Guards" -msgstr "" +msgstr "Control de entradas" #: i2p2www/pages/site/comparison/tor.html:59 msgid "Fast Peers" -msgstr "" +msgstr "Pares rápidos" #: i2p2www/pages/site/comparison/tor.html:60 msgid "Entry Node" -msgstr "" +msgstr "Nodo de entrada" #: i2p2www/pages/site/comparison/tor.html:60 msgid "Inproxy" -msgstr "" +msgstr "Inproxy, proxy de entrada" #: i2p2www/pages/site/comparison/tor.html:61 msgid "Exit Node" -msgstr "" +msgstr "Nodo de salida" #: i2p2www/pages/site/comparison/tor.html:61 msgid "Outproxy" -msgstr "" +msgstr "Outproxy, o proxy de salida" #: i2p2www/pages/site/comparison/tor.html:62 msgid "Hidden Service" -msgstr "" +msgstr "Servicio oculto" #: i2p2www/pages/site/comparison/tor.html:62 msgid "Eepsite or Destination" -msgstr "" +msgstr "Eepsite o destinación" #: i2p2www/pages/site/comparison/tor.html:63 msgid "Hidden Service Descriptor" -msgstr "" +msgstr "Descriptor de servicio oculto" #: i2p2www/pages/site/comparison/tor.html:63 msgid "LeaseSet" -msgstr "" +msgstr "LeaseSet" #: i2p2www/pages/site/comparison/tor.html:64 msgid "Introduction point" -msgstr "" +msgstr "Punto de introducción" #: 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 "" +msgstr "Salida entrante" #: i2p2www/pages/site/comparison/tor.html:65 msgid "Node" -msgstr "" +msgstr "Nodo" #: 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 "" +msgstr "Ruter" #: i2p2www/pages/site/comparison/tor.html:66 msgid "Onion Proxy" -msgstr "" +msgstr "Proxy Onion" #: i2p2www/pages/site/comparison/tor.html:66 msgid "I2PTunnel Client (more or less)" -msgstr "" +msgstr "Cliente de I2PTunnel (más o menos)" #: i2p2www/pages/site/comparison/tor.html:67 msgid "Relay" -msgstr "" +msgstr "Relay" #: i2p2www/pages/site/comparison/tor.html:68 msgid "Rendezvous Point" -msgstr "" +msgstr "Punto de reunión" #: i2p2www/pages/site/comparison/tor.html:68 msgid "somewhat like Inbound Gateway + Outbound Endpoint" msgstr "" +"algo así como inbound Gateway + Outbound Endpoint, salida entrante + " +"punto final de salida" #: i2p2www/pages/site/comparison/tor.html:69 msgid "Router Descriptor" -msgstr "" +msgstr "Descriptor del ruter" #: i2p2www/pages/site/comparison/tor.html:69 msgid "RouterInfo" -msgstr "" +msgstr "Información del ruter" #: i2p2www/pages/site/comparison/tor.html:70 msgid "Server" -msgstr "" +msgstr "Servidor" #: i2p2www/pages/site/comparison/tor.html:73 msgid "Benefits of Tor over I2P" -msgstr "" +msgstr "Beneficios de Tor sobre I2p" #: i2p2www/pages/site/comparison/tor.html:76 msgid "" @@ -5651,18 +6772,22 @@ msgid "" "formal studies of anonymity, resistance, and performance;\n" "has a non-anonymous, visible, university-based leader" msgstr "" +"El número de usuarios es mucho mayor; mucho más visible en entorno " +"académicos y comunidades de hackers; beneficios de tener estudios " +"formales sobre el anonimato, resistencia y rendimiento; tienen un líder " +"universitario no anónimo, de cara a público" #: i2p2www/pages/site/comparison/tor.html:82 msgid "Has already solved some scaling issues I2P has yet to address" -msgstr "" +msgstr "Ha resuelto ya algunos problemas de escalado que I2P aún debe arreglar. " #: i2p2www/pages/site/comparison/tor.html:83 msgid "Has significant funding" -msgstr "" +msgstr "Tiene muchos fondos" #: i2p2www/pages/site/comparison/tor.html:84 msgid "Has more developers, including several that are funded" -msgstr "" +msgstr "Tiene más desarrolladores, incluso algunos con fondos" #: i2p2www/pages/site/comparison/tor.html:86 msgid "" @@ -5671,94 +6796,115 @@ msgid "" "(I2P has proposals for \"full restricted routes\" but these are not yet " "implemented)" msgstr "" +"Tiene un bloqueo de nivel de estado más resistente debido la capa de " +"transporte TLS y a los puentes (I2P tienen propuestas de \"rutas " +"completamente restringidas\" pero estas aún no están implementadas)" #: i2p2www/pages/site/comparison/tor.html:91 msgid "Big enough that it has had to adapt to blocking and DOS attempts" -msgstr "" +msgstr "Es tan grande que incluso se ha adaptado para bloquear los intentos de DOS" #: i2p2www/pages/site/comparison/tor.html:92 msgid "Designed and optimized for exit traffic, with a large number of exit nodes" msgstr "" +"Diseñado para optimizar el tráfico de salida, con un gran número de nodos" +" de salida" #: i2p2www/pages/site/comparison/tor.html:94 msgid "" "Better documentation, has formal papers and specifications,\n" "better website, many more translations" msgstr "" +"Mejor documentación, tiene estudios formales y especificaciones, una web " +"mejor, y muchas traducciones" #: i2p2www/pages/site/comparison/tor.html:99 msgid "More efficient with memory usage" -msgstr "" +msgstr "Más eficiente con el uso de la memoria" #: i2p2www/pages/site/comparison/tor.html:100 msgid "Tor client nodes have very low bandwidth overhead" -msgstr "" +msgstr "Los nodos cliente de Tor tienen muy poco gasto de ancho de nada" #: i2p2www/pages/site/comparison/tor.html:102 msgid "" "Centralized control reduces the complexity at each\n" "node and can efficiently address Sybil attacks" msgstr "" +"El control centralizado reduce la complejidad de cada nodo y puede evitar" +" ataques Sybil fácilmente" #: i2p2www/pages/site/comparison/tor.html:108 msgid "" "A core of high capacity nodes provides higher\n" "throughput and lower latency" msgstr "" +"Un núcleo de nodos de gran capacidad proporciona una mayor rendimiento y " +"menor latencia" #: i2p2www/pages/site/comparison/tor.html:113 msgid "C, not Java (ewww)" -msgstr "" +msgstr "C, no java (ey!)" #: i2p2www/pages/site/comparison/tor.html:116 msgid "Benefits of I2P over Tor" -msgstr "" +msgstr "Beneficios de I2P sobre Tor" #: i2p2www/pages/site/comparison/tor.html:118 msgid "" "Designed and optimized for hidden services, which are much faster than in" " Tor" msgstr "" +"Diseñado para optimizar los servicios ocultos, que son mucho más rápidos " +"que los de Tor" #: i2p2www/pages/site/comparison/tor.html:119 msgid "Fully distributed and self organizing" -msgstr "" +msgstr "Totalmente distribuido y auto organizado" #: i2p2www/pages/site/comparison/tor.html:121 msgid "" "Peers are selected by continuously profiling and ranking performance,\n" "rather than trusting claimed capacity" msgstr "" +"Los pares son seleccionados continuamente según el rendimiento y " +"categoría, en vez de confiar en la capacidad indicada" #: i2p2www/pages/site/comparison/tor.html:127 msgid "" "Floodfill peers (\"directory servers\") are varying and untrusted,\n" "rather than hardcoded" msgstr "" +"Los pares Floodfill (\"servidores de directorios\") cambian, en vez de " +"estar siempre fijos." #: i2p2www/pages/site/comparison/tor.html:132 msgid "Small enough that it hasn't been blocked or DOSed much, or at all" -msgstr "" +msgstr "Tan pequeña que no ha sido bloqueada o Dosed." #: i2p2www/pages/site/comparison/tor.html:133 msgid "Peer-to-peer friendly" -msgstr "" +msgstr "Amigable con las aplicaciones p2p" #: i2p2www/pages/site/comparison/tor.html:134 msgid "Packet switched instead of circuit switched" -msgstr "" +msgstr "Conmutado por paquete en vez de conmutado por circuito" #: i2p2www/pages/site/comparison/tor.html:137 msgid "" "implicit transparent load balancing of messages \n" "across multiple peers, rather than a single path" msgstr "" +"Implica control de carga transparente de los mensajes a través de " +"múltiples pares, en vez de por un sólo camino." #: i2p2www/pages/site/comparison/tor.html:143 msgid "" "resilience vs. failures by running multiple \n" "tunnels in parallel, plus rotating tunnels" msgstr "" +"Resistencia contra fallos ya que usa varios túneles en paralelo, además " +"de rotar los túneles" #: i2p2www/pages/site/comparison/tor.html:149 msgid "" @@ -5767,6 +6913,9 @@ msgid "" "used by all of the peers Alice is talking with, \n" "rather than a circuit for each)" msgstr "" +"el número de conexiones en i2p vienen dado por O(1) en vez de O(N) (por " +"ejemplo, Alice tiene 2 túneles de entrada que son usados por todos los " +"pares con lo que habla Alice, en vez de un circuito por cada par)" #: i2p2www/pages/site/comparison/tor.html:159 msgid "" @@ -5774,6 +6923,8 @@ msgid "" "circuits, doubling the number of nodes a peer has to\n" "compromise to get the same information." msgstr "" +"Túneles unidireccionales en vez de circuitos bidireccionales, usando el " +"doble de nodos un par se compromete más par obtener la misma información." #: i2p2www/pages/site/comparison/tor.html:166 msgid "" @@ -5783,6 +6934,10 @@ msgid "" "to end messages (e.g. netDb, tunnel management, \n" "tunnel testing)" msgstr "" +"Protección contra la detección de la actividad de un cliente, incluso " +"cuando un atacante participa en el túnel, ya que los túneles no son sólo " +"usados para pasar el mensaje de punto a punto (por ejemplo, netDB, " +"administración de túneles, pruebas en los túneles)" #: i2p2www/pages/site/comparison/tor.html:175 msgid "" @@ -5791,16 +6946,22 @@ msgid "" "active attack with, unlike circuits in Tor, which are\n" "typically long lived." msgstr "" +"Los túneles de I2P tienen una vida corta, reduciendo el número de " +"muestras que un atacante puede usar para lograr un ataque activo, al " +"contrario que con los circuitos en Tor, que son típicamente de larga " +"duración." #: 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 "" +"Los APIs de I2P están específicamente diseñados para el anonimato y la " +"seguridad, mientras que SOCKS está diseñado para su funcionalidad." #: i2p2www/pages/site/comparison/tor.html:188 msgid "Essentially all peers participate in routing for others" -msgstr "" +msgstr "Básicamente todos los pares participan en el rutado de otros" #: i2p2www/pages/site/comparison/tor.html:190 msgid "" @@ -5808,32 +6969,39 @@ msgid "" "while in Tor, while client nodes don't require much\n" "bandwidth, they don't fully participate in the mixnet." msgstr "" +"El uso de ancho de banda de cualquier par completo es bajo, mientras que " +"en Tor, aunque un nodo cliente no necesita mucho ancho de banda, " +"realmente no participan completamente en la red." #: i2p2www/pages/site/comparison/tor.html:196 msgid "Integrated automatic update mechanism" -msgstr "" +msgstr "Sistema integrado de actualizaciones automáticas" #: i2p2www/pages/site/comparison/tor.html:197 msgid "Both TCP and UDP transports" -msgstr "" +msgstr "Ambos tipos de transporte, TCP y UDP" #: i2p2www/pages/site/comparison/tor.html:198 msgid "Java, not C (ewww)" -msgstr "" +msgstr "Java, en vez de C (ewww)" #: i2p2www/pages/site/comparison/tor.html:201 msgid "Other potential benefits of I2P but not yet implemented" -msgstr "" +msgstr "Otros beneficios potencial de I2P aún no implementados" #: i2p2www/pages/site/comparison/tor.html:202 msgid "...and may never be implemented, so don't count on them!" msgstr "" +"...y puede ser que nunca lleguen a ser implementados, ¡osea que no cuente" +" con ellos!" #: i2p2www/pages/site/comparison/tor.html:205 msgid "" "Defense vs. message count analysis by garlic wrapping \n" "multiple messages" msgstr "" +"Defensa contra el análisis de conteo de mensajes envolviendo múltiples " +"mensajes dentro de la red garlic" #: i2p2www/pages/site/comparison/tor.html:211 msgid "" @@ -5841,6 +7009,8 @@ msgid "" "at various hops (where the delays are not discernible\n" "by other hops)" msgstr "" +"Defensa contra la intersección a largo plazo añadiendo demoras en varios " +"saltos (donde las demoras no son perceptibles por los oros saltos)" #: i2p2www/pages/site/comparison/tor.html:218 msgid "" @@ -5849,6 +7019,9 @@ msgid "" "where the endpoint will inject dummy messages if there\n" "are insufficient messages, etc)" msgstr "" +"Varias estrategias de mezclado el nivel del túnel (por ejemplo, creando " +"túneles que manejaran 500 mensajes al minuto, donde el punto final " +"inyectará mensajes de relleno si no hubiese suficientes mensajes, etc)" #: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:25 msgid "Index to Technical Documentation" @@ -5900,16 +7073,15 @@ msgstr "" #: i2p2www/pages/site/docs/tunnels/unidirectional.html:6 #: i2p2www/pages/site/misc/jbigi.html:6 msgid "Overview" -msgstr "" +msgstr "Vista general" #: i2p2www/pages/site/docs/index.html:29 msgid "Technical Introduction" msgstr "" #: i2p2www/pages/site/docs/index.html:30 -#, fuzzy msgid "A Less-Technical Introduction" -msgstr "Una Introducción Sencilla" +msgstr "" #: i2p2www/pages/site/docs/index.html:31 msgid "Threat model and analysis" @@ -5927,7 +7099,7 @@ msgstr "" #: i2p2www/pages/site/research/papers.html:2 #: i2p2www/pages/site/research/papers.html:4 msgid "Papers on I2P" -msgstr "" +msgstr "Estudios sobre I2P" #: i2p2www/pages/site/docs/index.html:35 #, python-format @@ -6080,7 +7252,7 @@ msgstr "" #: i2p2www/pages/site/docs/how/tech-intro.html:15 #: i2p2www/pages/site/docs/how/tech-intro.html:329 msgid "Network Database" -msgstr "" +msgstr "Base de datos de la red" #: i2p2www/pages/site/docs/index.html:117 msgid "" @@ -6233,7 +7405,7 @@ msgstr "" #: i2p2www/pages/site/docs/index.html:189 #: i2p2www/pages/site/get-involved/guides/new-developers.html:2 msgid "New Developer's Guide" -msgstr "" +msgstr "Guía para nuevos desarrolladores" #: i2p2www/pages/site/docs/index.html:191 #: i2p2www/pages/site/get-involved/guides/new-translators.html:2 @@ -6243,7 +7415,7 @@ msgstr "" #: i2p2www/pages/site/docs/index.html:193 #: i2p2www/pages/site/get-involved/guides/monotone.html:4 msgid "Monotone Guide" -msgstr "" +msgstr "Guía de Monotone" #: i2p2www/pages/site/docs/index.html:195 msgid "Developer Guidelines" @@ -6324,7 +7496,7 @@ msgstr "" #: i2p2www/pages/site/docs/index.html:234 #: i2p2www/pages/site/get-involved/todo.html:2 msgid "To Do List" -msgstr "" +msgstr "Por hacer" #: i2p2www/pages/site/docs/naming.html:3 #: i2p2www/pages/site/docs/how/cryptography.html:3 @@ -6875,9 +8047,8 @@ msgid "I2P Plugins" msgstr "" #: i2p2www/pages/site/docs/plugins.html:8 -#, fuzzy msgid "General Information" -msgstr "Información adicional" +msgstr "" #: i2p2www/pages/site/docs/plugins.html:9 msgid "" @@ -11083,6 +12254,24 @@ msgid "" "message, \n" "but if it does not, they ElGamal decrypt the first block." msgstr "" +"La primera vez que un ruter quiere cifrar un mensaje para otro ruter,\n" +"estos cifran las claves para una clave de sesión AES256 con ElGamal y\n" +"adjunta la payload ya cifrado AES256/CBC después del bloque cifrado " +"ElGamal. Además del payload cifrado, las sección del cifrado AES contiene" +" el \n" +"tamaño de la carga, el hash SHA256 del payload no cifrado, así como el " +"número\n" +"de \"etiquetas de sesión\" - nonces aleatorios de 32 bits. La siguiente " +"vez que el remitente desea cifrar un mensaje garlic para otro ruter, en " +"vez de de cifrar una nueva clave de sesión con ElGamal, simplemente " +"elijen una de las etiquetas enviadas de la sesión anterior y cifran con " +"AES el payload como anteriormente, usando la clave de sesión usada con\n" +"la etiqueta de la sesión, antepuesto con la misma etiqueta de sesión. " +"Cuando un ruter recibe\n" +" un mensaje cifrado garlic, comprueba los primeros 32 bytes para ver si " +"coinciden \n" +"con una etiqueta de sesión disponible - si lo hace, simplemente descifran" +" el mensaje con AES, pero si no, descifran el primer bloque con ElGamal" #: i2p2www/pages/site/docs/how/elgamal-aes.html:35 #: i2p2www/pages/site/docs/how/tech-intro.html:528 @@ -11111,6 +12300,21 @@ msgid "" "tags \n" "bundled in the garlic message were successfully delivered." msgstr "" +"Cada etiqueta de sesión puede usarse sólo una vez para evitar que " +"adversarios internos\n" +"puedan relacionar diferentes mensajes al enviarse estos entre los mismos " +"ruters. El remitente de un mensaje cifrado con etiqueta de sesión + " +"ElGamal/AES elije cuando y cuantas etiquetas a enviar, poniendo a " +"disposición del que recibe suficientes etiquetas para trabajar con un " +"buen número de mensajes. Los mensajes Garlic pueden detectar la llegada " +"exitosas de las etiquetas construyendo un mensaje adicional tipo clavo " +"(un \"mensaje de estado de entrega\") - cuando el mensaje llega al " +"destinatario elegido y es descifrado correctamente, este pequeño mensaje " +"de estado de entrega es uno de los clavos expuestos y tiene instrucciones" +" para el destinatario para que retorne al remitente original (a través de" +" un túnel de entrada, claro). Cuando el remitente original \n" +"recibe el mensaje de estado de envío, sabe que la etiqueta de sesión " +"incluida en el mensaje garlic ha sido enviada exitosamente." #: i2p2www/pages/site/docs/how/elgamal-aes.html:50 msgid "" @@ -11883,7 +13087,7 @@ msgstr "Una Introducción Sencilla" #: i2p2www/pages/site/docs/how/intro.html:5 msgid "A Gentle Introduction to How I2P Works" -msgstr "Una breve presentación de cómo funciona I2P" +msgstr "Una breve introducción de cómo funciona I2P" #: i2p2www/pages/site/docs/how/intro.html:7 msgid "" @@ -11902,18 +13106,14 @@ msgid "" "freely available." msgstr "" "I2P es un proyecto para construir, desplegar y mantener una red que " -"soporte comunicación\n" -"segura y anónima. Los usuarios de I2P pueden administrar el balance entre" -" el anonimato,\n" -"fiabilidad, uso de ancho de banda y latencia. No hay un punto central en " -"la red sobre el cual\n" -"se pueda ejercer presión para comprometer la integridad, seguridad y " -"anonimato del sistema.\n" -"La red soporta reconfiguración dinámica en respuesta a diversos ataques, " -"y ha sido diseñada\n" -"para hacer uso de recursos adicionales según vayan estando disponibles. " -"Por supuesto, todos\n" -"los aspectos de la red son abiertos y están a libre disposición." +"soporte comunicación segura y anónima. Los usuarios de I2P pueden " +"administrar el balance entre el anonimato, fiabilidad, uso de ancho de " +"banda y latencia. No hay un punto central en la red sobre el cual se " +"pueda ejercer presión para comprometer la integridad, seguridad y " +"anonimato del sistema. La red soporta reconfiguración dinámica en " +"respuesta a diversos ataques, y ha sido diseñada para hacer uso de " +"recursos adicionales según vayan estando disponibles. Por supuesto, todos" +" los aspectos de la red son abiertos y están a libre disposición." #: i2p2www/pages/site/docs/how/intro.html:17 msgid "" @@ -11934,22 +13134,17 @@ msgid "" "even taken over to attempt more malicious attacks." msgstr "" "A diferencia de la mayoría de las redes anónimas, I2P no intenta " -"suministrar anonimato ocultándole\n" -"sí al origen de una comunicación y no al destinatario, o víceversa. De lo" -" contrario: I2P está\n" -"diseñada para permitir a los pares comunicarse unos con otros " -"anónimamente - ambos, quien\n" -"envía y el que recibe, no son identificables entre ellos y tampoco por " -"terceras partes. Por ejemplo,\n" -"actualmente hay sitios web I2P internos (permitiendo publicación y " -"hospedaje anónimo) además\n" -"de proxies HTTP hacia la web normal (permitiendo navegación anónima). " -"Disponer de la posibilidad\n" -"de correr servidores internamente en I2p es esencial, ya que es bastante" -" probable que cualquier\n" -"proxy de salida hacia la Internet normal pudiera ser monitorizado, " -"desactivado o comprometido\n" -"con el intento de ataques más maliciosos." +"suministrar anonimato ocultándole sí al origen de una comunicación y no " +"al destinatario, o vice versa. De lo contrario: I2P está diseñada para " +"permitir a los pares comunicarse unos con otros anónimamente - ambos, " +"quien envía y quien recibe, no son identificables entre ellos y tampoco " +"por terceras partes. Por ejemplo, actualmente hay sitios web I2P internos" +" (permitiendo publicación y hospedaje anónimo) además de proxies HTTP " +"hacia la web normal (permitiendo navegación anónima). Disponer de la " +"posibilidad de correr servidores internamente en I2p es esencial, ya que" +" es bastante probable que cualquier proxy de salida hacia la Internet " +"normal pudiera ser monitorizado, desactivado o comprometido con el " +"intento de ataques más maliciosos." #: i2p2www/pages/site/docs/how/intro.html:28 #, python-format @@ -11973,25 +13168,19 @@ msgid "" "proxies to enable the anonymizing functionality." msgstr "" "La red es en sí misma orientada a mensajes - es en esencia una capa IP " -"segura y anónima donde\n" -"los mensajes son direccionados hacia claves criptográficas (Destinos) y " -"pueden ser considerablemente\n" -"más largos que los paquetes IP. Algunos ejemplos del uso de la red " -"incluyen \"eepsites\" (servidores\n" -"web hospedando aplicaciones web normales dentro de I2P), un cliente " -"BitTorrent (\"I2PSnark\"),\n" -"o un sistema de almacenaje de datos distribuido. Con la ayuda de la " -"aplicación \n" +"segura y anónima donde los mensajes son direccionados hacia claves " +"criptográficas (Destinos) y pueden ser considerablemente más largos que " +"los paquetes IP. Algunos ejemplos del uso de la red incluyen \"eepsites\"" +" (servidores web hospedando aplicaciones web normales dentro de I2P), un" +" cliente BitTorrent (\"I2PSnark\"), o un sistema de almacenaje de datos " +"distribuido. Con la ayuda de la aplicación " "I2PTunnel, somos capaces de correr aplicaciones TCP/IP tradicionales " -"sobre I2P, como SSH,\n" -"IRC, un proxy Squid, e igualmente streaming de audio. Mucha gente no " -"usará I2P directamente,\n" -"o mismamentee no necesitarán saber que lo están usando. En vez de eso, su" -" percepción será la\n" -"de una de las aplicaciones I2P habilitadas, o quizá la de una pequeña " -"aplicación de control para\n" -"activar y desactivar varios proxies que permitan funccionalidades de " -"anonimato." +"sobre I2P, como SSH, IRC, un proxy Squid, e igualmente streaming de " +"audio. Mucha gente no usará I2P directamente, o mismamente no necesitarán" +" saber que lo están usando. En vez de eso, su percepción será la de una " +"de las aplicaciones I2P habilitadas, o quizá la de una pequeña aplicación" +" de control para activar y desactivar varios proxies que permitan " +"funcionalidades de anonimato." #: i2p2www/pages/site/docs/how/intro.html:40 #, python-format @@ -12013,23 +13202,17 @@ msgid "" "from the others." msgstr "" "Una parte esencial de diseñar, desarrollar y probar una red anónima es " -"definir el modelo de amenaza, si partimos de que no " -"existe lo que podría\n" -"ser considerado anonimato auténtico, solamente se puede hacer más " -"costoso el identificar\n" -"a alguien. Brevemente, el propósito de I2P es permitir comunicarse a la " -"gente en ambientes\n" -"arbitrariamente hostiles suministrando buen anonimato, mezclado con " -"suficiente tráfico de\n" -"cobertura proporcionado por la actividad de gente que requiere menos " -"anonimato. De esta\n" -"forma algunos usuarios pueden evitar ser detectados por poderosos " -"adversarios, mientras\n" -"otros intentarán ocultar su identidad de forma más débil, todo en la " -"misma red, donde\n" -"los mensajes de cada uno son ensencialmente indistinguibles de los del " -"resto." +"definir el modelo de amenaza, si partimos" +" de que no existe lo que podría ser considerado anonimato auténtico, " +"solamente se puede hacer más costoso el identificar a alguien. " +"Brevemente, el propósito de I2P es permitir comunicarse a la gente en " +"ambientes arbitrariamente hostiles suministrando buen anonimato, mezclado" +" con suficiente tráfico de cobertura proporcionado por la actividad de " +"gente que requiere menos anonimato. De esta forma algunos usuarios pueden" +" evitar ser detectados por poderosos adversarios, mientras otros " +"intentarán ocultar su identidad de forma más débil, todo en la misma " +"red, donde los mensajes de cada uno son esencialmente indistinguibles" +" de los del resto." #: i2p2www/pages/site/docs/how/intro.html:51 msgid "Why?" @@ -12046,6 +13229,14 @@ msgid "" "anonymity to people through the\n" "Internet, but we could not find any that met our needs or threat model." msgstr "" +"Hay múltiples razones por las que necesitamos un sistema que soporte " +"comunicaciones anónimas, y \n" +"además cada uno tiene si propias razones. Hay muchos a " +"href=\"%(comparisons)s\">otros\n" +"proyectos en Internet trabajando para encontrar formas de ofrecer " +"varios niveles de anonimato para la gente,\n" +"pero no habíamos encontrado ninguno que cumpliera nuestras necesidades o " +"el modelo de amenazas." #: i2p2www/pages/site/docs/how/intro.html:59 msgid "How?" @@ -12074,30 +13265,24 @@ msgid "" "distributing routing and contact information securely." msgstr "" "Un vistazo a la red muestra que se compone de una instalación de nodos " -"(\"routers\") con un\n" -"número de rutas virtuales unidireccionales entrantes y salientes " -"(Tunnels, como se describen\n" -"en la página tunnel routing). Cada " -"router está identificado\n" -"por una RouterIdentity cifrada que es permanente normalmente. Estos " -"routers se comunican\n" -"entre ellos a través de mecanismo de transporte existentes (TCP, UDP, " -"etc) enviandose distintos\n" -"mensajes. Las aplicaciones clientes tienen su propio identificador " -"criptográfico (\"Destino\") que\n" -"las habilita para enviar y recibir mensajes. Estos clientes pueden " -"conectarse a cualquier router y\n" -"autorizar la asignación temporal (\"arrendamiento\") de varios tuneles " -"que serán usados para enviar\n" -"y recibir mensaje a través de la red. I2P tiene su propia base de datos de\n" -"red (utilizando una modificación del algoritmo Kadeemlia) para " -"distribuir información de\n" +"(\"ruters\") con un número de rutas virtuales unidireccionales entrantes " +"y salientes (Túneles, como se describen en la página tunnel routing). Cada ruter está " +"identificado por una RouterIdentity cifrada que es e normalmente " +"permanente. Estos ruters se comunican entre ellos a través de mecanismo " +"de transporte existentes (TCP, UDP, etc) enviándose distintos mensajes. " +"Las aplicaciones clientes tienen su propio identificador criptográfico " +"(\"Destino\") que las habilita para enviar y recibir mensajes. Estos " +"clientes pueden conectarse a cualquier ruter y autorizar la asignación " +"temporal (\"arrendamiento\") de varios túneles que serán usados para " +"enviar y recibir mensaje a través de la red. I2P tiene su propia base de datos de red (utilizando una modificación " +"del algoritmo Kadeemlia) para distribuir información de\n" "rutas y contactos de forma segura." #: i2p2www/pages/site/docs/how/intro.html:74 msgid "Network topology example" -msgstr "" +msgstr "Ejemplo de topología de red" #: i2p2www/pages/site/docs/how/intro.html:76 msgid "" @@ -12119,27 +13304,20 @@ msgid "" "which is constantly updated\n" "as new leases are authorized and old ones expire." msgstr "" -"En la imagen, Alice, Bob, Charlie and Dave están corriendo routers con un" -" simple Destino en\n" -"su router local. Cada uno de ellos tiene un par de túneles de dos saltos " -"entrantes por destino\n" -"(etiquetados como 1, 2, 3, 4, 5 y 6), y una pequeña parte del grupo de " -"los túneles de salida de\n" -"esos routers se representa con tuneles de salida de dos saltos. Para " -"simplificar, los túneles entrantes\n" -"de Charlie y los de salida de Dave no se muestran, tampoco está el resto " -"del grupo de túneles\n" -"de salida de cada router (típicamente compuesto por varios túneles a la " -"vez). Cuando Alice y\n" -"Bob se comunican entre ellos, Alice envía un mensaje por uno de sus " -"túneles de salida (rosa)\n" -"en dirección a uno de los túneles entrantes (verde) de Bob (túnel 3 o 4)." -" Ella conoce cómo enviar\n" -"a los túneles del router correcto mediante consultas a la base de datos " -"de red, que está\n" +"En la imagen, Alice, Bob, Charlie and Dave están corriendo ruters con una" +" simple Destinación en su ruter local. Cada uno de ellos tiene un par de " +"túneles de dos saltos entrantes por destino (etiquetados como 1, 2, 3, 4," +" 5 y 6), y una pequeña parte del grupo de los túneles de salida de esos " +"ruters se representa con túneles de salida de dos saltos. Para " +"simplificar, los túneles entrantes de Charlie y los de salida de Dave no " +"se muestran, tampoco está el resto del grupo de túneles de salida de cada" +" ruter (típicamente compuesto por varios túneles a la vez). Cuando Alice " +"y Bob se comunican entre ellos, Alice envía un mensaje por uno de sus " +"túneles de salida (rosa) en dirección a uno de los túneles entrantes " +"(verde) de Bob (túnel 3 o 4). Ella sabe cómo enviar a los túneles del " +"ruter correcto mediante consultas a la base de datos de red, que está\n" "constantemente actualizándose tan pronto cómo son autorizados nuevos " -"arrendamientos y\n" -"expiran los viejos." +"contactos y expiran los viejos." #: i2p2www/pages/site/docs/how/intro.html:88 #, python-format @@ -12156,16 +13334,13 @@ msgid "" "current data." msgstr "" "Si Bob quiere contestar a Alice, simplemente utilizará el mismo proceso -" -" envía un mensaje\n" -"por uno de sus túneles de salida en dirección hacia uno de los túneles de" -" entrada de Alice (túnel\n" -"1 o 2). Para hacer las cosas más sencillas, la mayor parte de los " -"mensajes enviados entre Alice\n" -"y Bob usan el envoltorio garlic, " -"incluyendo la información\n" -"de arrendamiento propia del remitente en el paquete, de esta forma el " -"destinatario puede contestar\n" -"inmediatamente sin necesidad de buscar el dato en su base de datos de red." +" envía un mensaje por uno de sus túneles de salida en dirección hacia uno" +" de los túneles de entrada de Alice (túnel 1 o 2). Para hacer las cosas " +"más sencillas, la mayor parte de los mensajes enviados entre Alice y Bob " +"usan el envoltorio de ajo, garlic, " +"incluyendo la información de arrendamiento propia del remitente en el " +"paquete, de esta forma el destinatario puede contestar inmediatamente sin" +" necesidad de buscar el dato en su base de datos de red." #: i2p2www/pages/site/docs/how/intro.html:96 #, python-format @@ -12182,17 +13357,14 @@ msgid "" "href=\"%(peerselection)s\">peer selection\n" "page." msgstr "" -"Para tratar con un ámplio rango de ataques, I2P es completamente " -"distribuida sin recursos\n" -"centralizados - no hay servidores de directorio manteniendo estadísticas " -"sobre el rendimiento\n" -"y fiabilidad de los routers dentro de la red. De esta forma cada router " -"debe guardar y mantener\n" -"los perfiles de varios routers y es responsable de seleccionar los pares " -"apropiados para satisfacer\n" -"el anonimato, rendimiento y fiabilidad requeridos por los usuarios tal y " -"como se describe en la\n" -"página selección de pares." +"Para tratar con un amplio rango de ataques, I2P es completamente " +"distribuida sin recursos centralizados - no hay servidores manteniendo " +"estadísticas sobre el rendimiento y fiabilidad de los ruters dentro de la" +" red. De esta forma cada ruter debe guardar y mantener los perfiles de " +"varios ruters y es responsable de seleccionar los pares apropiados para " +"satisfacer el anonimato, rendimiento y fiabilidad requeridos por los " +"usuarios tal y como se describe en la página deselección de pares." #: i2p2www/pages/site/docs/how/intro.html:105 #, python-format @@ -12206,15 +13378,13 @@ msgid "" "negotiated connections with station to station authentication, and ElGamal / AES+SessionTag." msgstr "" -"La red hace uso de un significante número de técnicas criptográficas\n" -"y algoritmos - una lista completa incluye cifrado El Gamal de 2048 " -"bits, AES de 256 bits\n" +"La red hace uso de un gran número de técnicas criptográficas y algoritmos - una " +"lista completa incluye el cifrado El Gamal de 2048 bits, AES de 256 bits " "en modo CBC con relleno PKCS#5, firmas DSA de 1024 bits, hashes SHA256, " -"negociación de\n" -"conexiones Diffie-Hellman de 2048 bits con autenticación estación a " -"estación y \n" -"ElGamal / AES+SessionTag." +"negociación de conexiones Diffie-Hellman de 2048 bits con autenticación " +"estación a estación y ElGamal / " +"AES+SessionTag." #: i2p2www/pages/site/docs/how/intro.html:113 msgid "" @@ -12227,14 +13397,11 @@ msgid "" "encryption (e.g. the TCP transport uses AES256 with ephemeral keys)." msgstr "" "El contenido enviado sobre I2P está cifrado a través del cifrado garlic " -"de tres capas (usado\n" -"para verificar la entrega del mensaje a destinatario), cifrado de túnel " -"(todos los mensajes\n" -"cruzando a través de un túnel están cifrados desde el túnel gateway hasta" -" el túnel destino\n" -"final) y cifrado de la capa de transporte inter-router (e. g. el " -"transporte TCP usa AES256 con\n" -"claves efímeras)." +"de tres capas (usado para verificar la entrega del mensaje a " +"destinatario), cifrado de túnel (todos los mensajes cruzando a través de " +"un túnel están cifrados desde el túnel de salida hasta el túnel de " +"destino final) y cifrado de la capa de transporte inter-router (e. g. el " +"transporte TCP usa AES256 con claves efímeras)." #: i2p2www/pages/site/docs/how/intro.html:120 msgid "" @@ -12251,22 +13418,18 @@ msgid "" "applications running atop of I2P." msgstr "" "El cifrado (I2CP) punto a punto (aplicación cliente hacia aplicación " -"servidor) fué deshabilitado\n" -"en la versión 0.6 de I2P; el cifrado (garlic) punto a punto (router " -"cliente I2P hacia router servidor\n" -"I2P) desde el router de Alice \"a\" hasta el router de Bob \"h\" " -"permanece. ¡Observa el diferente uso\n" -"de términos! Todos los datos desde \"a\" hasta \"h\" están cifrados punto" -" a punto, pero las conexiones\n" -"I2CP entre el router I2P y las aplicaciones no son cifradas punto a " -"punto. \"A\" y \"h\" son los routers\n" -"de Alice y Bob, mientras que, y siguiendo el diagrama, Alice y Bob son " -"las aplicaciones corriendo\n" -"encima de I2P." +"servidor) fue deshabilitado en la versión 0.6 de I2P; el cifrado (garlic)" +" punto a punto (ruter cliente I2P hacia ruter servidor I2P) desde el " +"ruter de Alice \"a\" hasta el ruter de Bob \"h\" aún permanece. ¡Observe " +"el uso diferente de los términos! Todos los datos desde \"a\" hasta " +"\"h\" están cifrados punto a punto, pero las conexiones I2CP entre el " +"ruter I2P y las aplicaciones no son cifradas punto a punto. \"A\" y \"h\"" +" son los ruters de Alice y Bob, mientras que, y siguiendo el diagrama, " +"Alice y Bob son las aplicaciones corriendo sobre I2P." #: i2p2www/pages/site/docs/how/intro.html:129 msgid "End to end layered encryption" -msgstr "" +msgstr "Cifrado por capas de punto a punto" #: i2p2www/pages/site/docs/how/intro.html:131 #, python-format @@ -12292,17 +13455,14 @@ msgid "" "deployment of more flexible and anonymous transports." msgstr "" "Los dos mecanismos principales que permiten usar la red a gente que " -"necesita fuerte anonimato\n" -"son explicitamente mensajes enrutados garlic con retardo y túneles más " -"completos que incluyan\n" -"agrupamiento y mezcla de mensajes. Estos están actualmente planeados para" -" la release 3.0, pero\n" +"necesita un fuerte anonimato son explícitamente mensajes enrutados garlic" +" con retardo y túneles más completos que incluyan agrupamiento y mezcla " +"de mensajes. Estos están actualmente planeados para la release 3.0, pero " "los mensajes enrutados garlic sin retardo y túneles FIFO están ya " -"implementados. Adicionalmente\n" -"la release 2.0 permitirá a los usuarios establecerse y operar detrás de " -"routers restrictivos (puede\n" -"que con pares de confianza), así como el despliegue de transportes más " -"flexibles y anónimos." +"implementados. Adicionalmente la versión 2.0 permitirá a los usuarios " +"establecerse y operar detrás de ruters restrictivos (puede que con pares " +"de confianza), así como el despliegue de transportes más flexibles y " +"anónimos." #: i2p2www/pages/site/docs/how/intro.html:144 #, python-format @@ -12320,24 +13480,20 @@ msgid "" "the network (N) bears no impact." msgstr "" "Han surgido algunas preguntas referentes a la escalabilidad de I2P. Habrá" -" ciertamente más\n" -"análisis con el tiempo, pero la búsqueda e integración de pares debería " -"ser limitado por\n" -"O(log(N)) debido al algoritmo de base " -"de datos de\n" -"red, mientras que los mensajes punto a punto serían O(1)" -" (escala libre),\n" +" ciertamente más análisis con el tiempo, pero la búsqueda e integración " +"de pares debería ser limitado por O(log(N)) debido al " +"algoritmo de base de datos de red, mientras que" +" los mensajes punto a punto serían O(1) (escala libre), " "puesto que los mensajes pasan por K saltos a través del túnel de salida y" -" otros K saltos por el\n" -"túnel de entrada, donde K no es mayor de 3. El tamaño de la red (N) no " -"acarrea impacto." +" otros K saltos por el túnel de entrada, donde K no es mayor de 3. El " +"tamaño de la red (N) no acarrea impacto." #: i2p2www/pages/site/docs/how/intro.html:153 msgid "When?" msgstr "¿Cuándo?" #: i2p2www/pages/site/docs/how/intro.html:154 -#, fuzzy, python-format +#, python-format msgid "" "I2P initially began in Feb 2003 as a proposed modification to Freenet to allow it to use " @@ -12350,12 +13506,11 @@ msgid "" msgstr "" "I2P comenzó inicialmente en 2003 como una propuesta de modificar\n" "Freenet para permitir el uso de" -" transportes alternativos,\n" -"como puede ser JMS, después\n" +" transportes alternativos, como puede ser JMS , después\n" "se desarrolló con identidad propia como una 'anonCommFramework' en Abril " "de 2003,\n" -"convirtiendose en I2P en Julio y comenzando a escribir código seriamente " +"convirtiéndose en I2P en Julio y comenzando a escribir código seriamente " "en Agosto de 2003.\n" "I2P está actualmente bajo desarrollo siguendo la hoja de ruta." @@ -12385,23 +13540,17 @@ msgid "" " Machines." msgstr "" "Tenemos un pequeño equipo desperdigado por " -"varios continentes\n" -"y trabajando en el avance de diferentes aspectos del proyecto. Estamos " -"abiertos a otros\n" -"desarrolladores que deseen involucrarse en el proyecto, y a cualquier " -"otra persona que quiera\n" +"varios continentes y trabajando en el avance de diferentes aspectos del " +"proyecto. Estamos abiertos a otros desarrolladores que deseen " +"involucrarse en el proyecto, y a cualquier otra persona que quiera " "contribuir de cualquier forma, como críticas, revisión de pares, pruebas," -" programación de\n" -"aplicaciones compatibles I2P, o documentación. El sistema completo es " -"código abierto - el\n" -"router y la mayor parte del SDK tienen licencia de dominio público con " -"algo de código licenciado\n" -"con BSD y Cryptix, mientras que aplicaciones como I2PTunnel e I2PSnark " -"son GPL. Casi todo\n" -"está escrito en Java (1.5+), aunque algunas aplicaciones de terceros " -"están siendo escritas en\n" -"Python u otros lenguajes. El código funciona en Sun Java SE\n" +" programación de aplicaciones compatibles I2P, o documentación. El " +"sistema completo es código abierto - el ruter y la mayor parte del SDK " +"tienen licencia de dominio público con algo de código licenciado con BSD " +"y Cryptix, mientras que aplicaciones como I2PTunnel e I2PSnark son GPL. " +"Casi todo está escrito en Java (1.5+), aunque algunas aplicaciones de " +"terceros están siendo escritas en Python u otros lenguajes. El código " +"funciona en Sun Java SE\n" "y otras máquinas virtuales Java." #: i2p2www/pages/site/docs/how/intro.html:176 @@ -12419,12 +13568,10 @@ msgid "" " are available." msgstr "" "Cualquiera interesado puede unirse a nosotros en el canal IRC #i2p " -"(hospedado concurrentemente\n" -"en irc.freenode.net, irc.postman.i2p, irc.freshcoffee.i2p, " -"irc.welterde.i2p e irc.einirc.de). Actualmente\n" -"no hay agenda de encuentros de desarrollo, no obstante hay archivos\n" -"disponibles." +"(hospedado concurrentemente en irc.freenode.net, irc.postman.i2p, " +"irc.freshcoffee.i2p, irc.welterde.i2p e irc.einirc.de). Actualmente no " +"hay agenda de encuentros de desarrollo, no obstante hay archivos disponibles." #: i2p2www/pages/site/docs/how/intro.html:183 #, python-format @@ -12432,9 +13579,9 @@ msgid "The current source is available in monotone. msgstr "El código actual está disponible en monotone." #: i2p2www/pages/site/docs/how/intro.html:188 -#, fuzzy, python-format +#, python-format msgid "See the Index to Technical Documentation." -msgstr "Ver el Indice de la Documentación Técnica." +msgstr "Vea el índice de la documentacón técnica." #: i2p2www/pages/site/docs/how/network-database.html:2 msgid "The Network Database" @@ -14122,15 +15269,15 @@ msgstr "" #: i2p2www/pages/site/docs/how/tech-intro.html:2 msgid "Introducing I2P" -msgstr "" +msgstr "Introducción a I2P" #: i2p2www/pages/site/docs/how/tech-intro.html:5 msgid "I2P: A scalable framework for anonymous communication" -msgstr "" +msgstr "I2P: Un sistema escalable para las comunicaciones anónimas" #: i2p2www/pages/site/docs/how/tech-intro.html:7 msgid "Table of Contents" -msgstr "" +msgstr "Tabla de contenidos" #: i2p2www/pages/site/docs/how/tech-intro.html:9 #: i2p2www/pages/site/docs/how/tech-intro.html:24 @@ -14140,12 +15287,12 @@ msgstr "Introducción" #: i2p2www/pages/site/docs/how/tech-intro.html:11 msgid "I2P Operation" -msgstr "" +msgstr "Como funciona I2P" #: i2p2www/pages/site/docs/how/tech-intro.html:16 #: i2p2www/pages/site/docs/how/tech-intro.html:401 msgid "Transport protocols" -msgstr "" +msgstr "Protocolos de transporte" #: i2p2www/pages/site/docs/how/tech-intro.html:25 msgid "" @@ -14160,6 +15307,13 @@ msgid "" "larger \n" "anonymity set of users already running on top of I2P." msgstr "" +"I2P es una capa de red auto organizada, resistente, anónima, dentro de la" +" cual pueden funcionar un gran número de aplicaciones con diferentes " +"modelos de seguridad y anonimato. Cada una de estas aplicaciones pueden " +"usar sus propios niveles de seguridad y sus propios niveles de " +"rendimiento, sin preocuparse por crear una implementación apropiada de " +"una red libre, permitiendoles mezclar sus actividades con un gran número " +"de usuarios anónimos que ya utilizan I2P." #: i2p2www/pages/site/docs/how/tech-intro.html:34 msgid "" @@ -14169,14 +15323,19 @@ msgid "" "blogging and content syndication, newsgroups, as well as several other " "applications under development." msgstr "" +"Las aplicaciones ya disponibles proveen con un gran número de las " +"aplicaciones usadas normalmente en Interenet - navegación web " +"anónima, alojamiento web, chat, compartir de archivos, email, " +"blogs y sindicación de contenidos, grupos de noticias, así como otras " +"muchas aplicaciones en desarrollo." #: i2p2www/pages/site/docs/how/tech-intro.html:40 msgid "Web browsing: using any existing browser that supports using a proxy." -msgstr "" +msgstr "Navegación web: usando cualquier navegador que soporte un proxy." #: i2p2www/pages/site/docs/how/tech-intro.html:41 msgid "Chat: IRC, Jabber, I2P-Messenger." -msgstr "" +msgstr "Chat: IRC, Jabber. VOIP, I2P-Messenger." #: i2p2www/pages/site/docs/how/tech-intro.html:42 msgid "" @@ -14186,28 +15345,38 @@ msgid "" "href=\"#app.i2pbt\">I2P-bt\n" "and others." msgstr "" +"Compartir archivos: I2PSnark, Robert, iMule, I2Phex, PyBit, I2P-bt y otros" #: i2p2www/pages/site/docs/how/tech-intro.html:47 msgid "" "E-mail: susimail and I2P-Bote." msgstr "" +"Email: susimail and I2P-Bote. " #: i2p2www/pages/site/docs/how/tech-intro.html:48 msgid "" "Blog: using e.g. the pebble plugin or the distributed blogging software " "Syndie." -msgstr "" +msgstr "Blogs: usando el pluguin pebble o la aplicación distribuida " #: i2p2www/pages/site/docs/how/tech-intro.html:49 msgid "" "Distributed Data Store: Save your data redundantly in the Tahoe-LAFS " "cloud over I2P." msgstr "" +"Almacenamiento de datos distribuido: Guarde sus datos redundantemente en " +"Tahoe-LAFS sobre I2P." #: i2p2www/pages/site/docs/how/tech-intro.html:50 msgid "Newsgroups: using any newsgroup reader that supports using a proxy." msgstr "" +"Grupos de noticias: usando cualquier lector de grupos de noticias que " +"soporte proxy." #: i2p2www/pages/site/docs/how/tech-intro.html:53 msgid "" @@ -14222,6 +15391,13 @@ msgid "" "to query static systems like Freenet without needing to install it " "locally." msgstr "" +"Al contrario que las webs alojadas en redes de distribución de contenido " +"como Freenet o GNUnet, los servicios hospedados" +" en I2P son totalmente interactivos - hay motores de búsquedas " +"tradicionales, tablones de anuncios, blogs en los que comentar, webs " +"funcionando con bases de datos, y puentes para obtener contenido estático" +" por ejemplo de Freenet sin tener que instalarlo localmente." #: i2p2www/pages/site/docs/how/tech-intro.html:61 msgid "" @@ -14252,6 +15428,21 @@ msgid "" "out \n" "of the network." msgstr "" +"Con todos estas aplicaciones anónimas habilitadas, I2P toma el rol de " +"aplicación mensajera, una aplicación, por ejemplo, dice que quiere enviar" +" datos a un identificador criptográfico (una \"destinación\") e I2P se " +"encarga de asegurarse de que lleguen seguros y anónimos. I2P también " +"ofrece un librería simple de streaming que" +" permite que los mensajes sean enviados seguros y ordenados, ofreciendo " +"transparentemente algoritmos de controles de congestión TCP optimizados " +"para redes con retraso y con grandes anchos de banda. Aunque hay proxies " +"SOCKS para usar casi cualquier aplicación con I2P estas se han limitado, " +"ya que la mayoría de las aplicaciones muestran, lo que se llama en el " +"contexto anónimo, información sensible. La única forma segura de usar " +"aplicaciones externas sería comprobar completamente la aplicación para " +"asegurarse que funciona bien, y para ayudar con este problema " +"proporcionamos una serie de APIs en varios idiomas que pueden usarse para" +" sacarle el mayor provecho a la red." #: i2p2www/pages/site/docs/how/tech-intro.html:78 #, python-format @@ -14285,10 +15476,28 @@ msgid "" "and does not receive any tax breaks in any jurisdiction at this time,\n" "as many of the developers are themselves anonymous." msgstr "" +"I2P no es un proyecto de investigación - académico, comercial o " +"gubernamental. En cambio es un esfuerzo de ingeniaría enfocado en hacer " +"lo posible para ofrecer un nivel decente de anonimato para aquellos que " +"lo necesitan. Lleva en desarrollo activo desde el 2003 con un programador" +" a tiempo completo y un grupo de contribuidores a tiempo parcial de todo " +"el mundo. Todo el trabajo realizado es software libre y disponible " +"gratuitamente en la web. La mayoría del código " +"es de dominio público, excepto algunas rutinas de cifrado que usan " +"licencias del estilo BSD. La gente trabajando en I2P no controla bajo que" +" licencias libera la gente sus aplicaciones clientes, y hay varias " +"aplicaciones GPL disponibles (I2PTunnel, " +"susimail, I2PSnark, I2P-" +"Bote, I2Phex y otras.). El financiamiento viene en su totalidad de " +"donaciones, y por el momento no recibe ninguna rebaja de impuestos en " +"ninguna jurisdicción, ya que la mayoría de los programadores son " +"anónimos." #: i2p2www/pages/site/docs/how/tech-intro.html:96 msgid "Operation" -msgstr "" +msgstr "Como funciona" #: i2p2www/pages/site/docs/how/tech-intro.html:98 msgid "" @@ -14312,6 +15521,16 @@ msgid "" "another for \n" "torrents, etc." msgstr "" +"Para entender como funciona I2p es esencial entender varios conceptos. " +"Primero, I2P hace una separación completa entre las aplicaciones usadas " +"en la red (un \"ruter\") y los puntos finales anónimos " +"(\"destinaciones\") asociados a las aplicaciones individuales. El hecho " +"de que alguien ejecute I2P normalmente no es un secreto. Lo que se oculta" +" es la información y lo que hace el usuario, así como las destinaciones " +"particulares a la que se conecta el ruter. Los usuarios finales tendrán " +"normalmente varias destinaciones locales en su ruter - por ejemplo, una " +"destinación conectando con servidores IRC, otras para las webs anónimas " +"(eepsites), otra para I2Phex, otra para los torrets, etc." #: i2p2www/pages/site/docs/how/tech-intro.html:111 msgid "" @@ -14328,15 +15547,24 @@ msgid "" "back,\n" "another tunnel is required." msgstr "" +"Otro concepto crítico a entender es el concepto de \"túnel\". Un túnel es" +" un camino directo a través de una lista seleccionada y explícita de " +"ruters. Se usa un cifrado por capas, por lo cual cada ruter sólo puede " +"descifrar una capa.\n" +"La información descifrada contiene la IP del ruter siguiente, así como la" +" información cifrada para ser enviada. Cada túnel tiene un punto de " +"inicio (el primer ruter, también conocido como \"gateway\") y un punto " +"final. Los mensajes sólo se pueden enviar en una dirección. Para enviar " +"un mensaje de respuesta se debe crear un nuevo túnel." #: i2p2www/pages/site/docs/how/tech-intro.html:122 #: i2p2www/pages/site/docs/tunnels/implementation.html:105 msgid "Inbound and outbound tunnel schematic" -msgstr "" +msgstr "Esquema de túneles de entrada y salida" #: i2p2www/pages/site/docs/how/tech-intro.html:124 msgid "Figure 1: Two types of tunnels exist: inbound and outbound." -msgstr "" +msgstr "Figura 1: Existen 2 tipos de túneles: de entrada y de salida." #: i2p2www/pages/site/docs/how/tech-intro.html:127 msgid "" @@ -14358,6 +15586,23 @@ msgid "" "it will have instructions to forward the message to the correct\n" "inbound gateway (the gateway to \"Bob\")." msgstr "" +"Existen 2 tipos de túneles:\n" +"túneles \"outbound\", de salida envían mensajes hacia fuera desde " +"el creador de túneles, mientras que túneles \"inbound\", de " +"entrada llevan los mensajes hasta el creador de túneles . Combinando " +"estos 2 túneles los usuarios pueden enviar mensajes a otros usuarios. El " +"remitente (\"Alice\" en la imagen anterior) crea un túnel de salida, " +"mientras que el receptor (\"Bob\" en la imagen de arriba) crea un túnel " +"entrante. La puerta de salida de un túnel de entrada puede recibir " +"mensajes de cualquier usuario que serán enviados hasta en punto final " +"(\"Bob\").\n" +"El punto final del túnel de salida necesita enviar el mensaje a la puerta" +" de salida del túnel de entrada.\n" +"Para conseguir esto, el remitente (\"Alice\") añade instrucciones al " +"mensaje cifrado. Una vez que el punto final y el túnel de salida " +"descifran el mensaje, tendrán las instrucciones para poder enviar el " +"mensaje la puerta de salida de entrada correcta (la puerta de salida " +"hacia \"Bob\")." #: i2p2www/pages/site/docs/how/tech-intro.html:144 msgid "" @@ -14377,20 +15622,34 @@ msgid "" "specific destination.\n" "The full information contained in a lease:" msgstr "" +"Un tercer concepto crítico es el de la \"base de datos de la red\"" +" (o \"netDb\") - un par de algoritmos hechos para compartir los datos de " +"la red. Los 2 tipos de datos compartidos son \"routerInfo\" y " +"\"leaseSets\" - la información del ruter, ruterinfo, da a los " +"ruters la información necesaria para poder contactar con un ruter en " +"particular (sus claves públicas, dirección de transporte, etc), mientras " +"que el leaseSet le da a los ruters un número de \"leases\", asignaciones." +" Cada una de estas asignaciones especifica una puerta de salida de un " +"túnel, la cual permite alcanzar una destinación específica. La " +"información completa en un lease es:" #: i2p2www/pages/site/docs/how/tech-intro.html:155 msgid "Inbound gateway for a tunnel that allows reaching a specific destination." msgstr "" +"Gateway de entrada para un túnel que permite alcanzar una destinación " +"específica." #: i2p2www/pages/site/docs/how/tech-intro.html:156 msgid "Time when a tunnel expires." -msgstr "" +msgstr "Tiempo para espiración del túnel." #: 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 "" +"Par de claves públicas para poder cifrar el mensaje (para enviarlo a " +"través del túnel y alcanzar su destino)." #: i2p2www/pages/site/docs/how/tech-intro.html:159 msgid "" @@ -14399,12 +15658,18 @@ msgid "" "(leaseSets need to be sent anonymously, to avoid correlating a router " "with his leaseSets)." msgstr "" +"Los ruters envían su routerInfo directamente a la netDB, mientras que los" +" leaseSets son enviados a través de los túneles de salida (los leaseSets " +"tienen que ser enviados anónimamente para evitar la correlación del ruter" +" con sus leaseSets)" #: i2p2www/pages/site/docs/how/tech-intro.html:164 msgid "" "We can combine the above concepts to build successful connections in the " "network." msgstr "" +"Podemos combinar los anteriores conceptos para construir conexiones " +"dentro de la red." #: i2p2www/pages/site/docs/how/tech-intro.html:168 msgid "" @@ -14416,18 +15681,24 @@ msgid "" "that router to send the construction message onward, until the tunnel has" " been constructed." msgstr "" +"Para crear sus propios tuneles de entrada y salida, Alice no mira en la " +"netDB para obtener la información. Ella obtiene listas de pares que puede" +" usar como saltos en sus túneles. Entonces puede enviar un mensaje de " +"construcción al primer salto, solicitando la construcción de un túnel y " +"pidiendo a ese ruter que siga adelante con la construcción del mensaje, " +"hasta que el túnel ha sido construido." #: i2p2www/pages/site/docs/how/tech-intro.html:175 msgid "Request information on other routers" -msgstr "" +msgstr "Obtiene indormacón sobre otros ruters" #: i2p2www/pages/site/docs/how/tech-intro.html:177 msgid "Build tunnel using router information" -msgstr "" +msgstr "Construye el túnel usando la información del ruter" #: i2p2www/pages/site/docs/how/tech-intro.html:179 msgid "Figure 2: Router information is used to build tunnels." -msgstr "" +msgstr "Figura 2: La información del ruter es usada para construir túneles." #: i2p2www/pages/site/docs/how/tech-intro.html:182 msgid "" @@ -14457,18 +15728,36 @@ msgid "" "lookup \n" "for it when he wants to reply, but this is optional." msgstr "" +"Cuando Alice quiere enviar un mensaje a Bob, primero mira en la netDB " +"hasta encontrar la leaseSet de Bob, dando sus propias gateways de " +"entrada.\n" +"Entonces ella elije uno de los túneles de salida y envía su mensaje con " +"instrucciones para que el punto final de túnel de salida reenvíe el " +"mensaje a unos de las gateways de entrada de BoB. Cuando el punto final " +"del túnel de salida recibe estas instrucciones, reenvía el mensaje como " +"se ha pedido, y cuando el la gateway del túnel de entrada de Bob lo " +"recibe, es enviado hasta el ruter de Bob. Si Alice quiere que Bob pueda " +"responder al mensaje necesita transmitir explícitamente su propia " +"destinación como parte del mensaje. Esto puede hacerse introduciendo una " +"capa de nivel superior, lo cual se hace en la librearía de streaming. Alice también puede acortar el " +"tiempo de respuesta construyendo su LeaseSet mas reciente con el mensaje," +" con lo cual Bob no necesita mirar en la netDB para responder, pero esto " +"es opcional." #: i2p2www/pages/site/docs/how/tech-intro.html:199 msgid "Connect tunnels using LeaseSets" -msgstr "" +msgstr "Conectando túneles usando LeaseSets " #: i2p2www/pages/site/docs/how/tech-intro.html:199 msgid "Connect tunnels using leaseSets" -msgstr "" +msgstr "Conectando túneles usando LeaseSets" #: i2p2www/pages/site/docs/how/tech-intro.html:201 msgid "Figure 3: LeaseSets are used to connect outbound and inbound tunnels." msgstr "" +"Figura 3: Los LeaseSets son usados para conectar los túneles de entrada y" +" salida." #: i2p2www/pages/site/docs/how/tech-intro.html:204 msgid "" @@ -14496,6 +15785,20 @@ msgid "" " \n" "encrypted without giving out the public key to Bob's own router." msgstr "" +"Mientras que los túneles están cifrados en capas para prevenir ser " +"revelados sin permiso a otros pares de la red (ya que la capa de " +"transporte en sí misma no previene la muestra no autorizada a pares fuera" +" de la red), es necesario añadir un final adicional a la capa de cifrado " +"final para ocultar el mensaje del punto final del túnel de salida y de la" +" puerta de salida del túnel de entrada. Este \"cifrado garlic \" permite al ruter de Alice " +"envolver varios mensajes en un simple \"mensaje garlic\", cifrado para " +"una calve pública en particular y así los pares intermediarios no pueden " +"determinar cuantos mensajes hay dentro del mensaje garlic, que dicen esos" +" mensajes, o a donde están destinados los mensajes individuales. Para una" +" comunicación típica entre Alice y Bob, el garlic será cifrado con la " +"clave pública publicada en el leaseSet de bob, permitiendo que el mensaje" +" sea cifrado sin dar la clave pública al dueño del ruter de Bob." #: i2p2www/pages/site/docs/how/tech-intro.html:219 msgid "" @@ -14511,6 +15814,13 @@ msgid "" "a streams \n" "based network." msgstr "" +"Otra cosa importante a tener en cuenta es que I2P esta totalmente basado " +"en mensajes y que algunos mensajes se pueden perder a lo largo del " +"camino. Las aplicaciones que usan I2P pueden usar el interfaz orientado a" +" mensajes y tomar el control sobre la congestión y las necesidades de " +"seguridad, pero la mayoría tienen suficiente usando la librería de streaming que proveemos y ver I2P como una " +"red basada en streams." #: i2p2www/pages/site/docs/how/tech-intro.html:229 msgid "" @@ -14537,6 +15847,20 @@ msgid "" "are \n" "added, the message arrives in the clear at the tunnel endpoint." msgstr "" +"Ambos túneles, de entrada y de salida funcionan con los mismos " +"principios. La puerta de salida del túnel acumula un número de mensajes, " +"eventualmente pre procesandolos para poder ser entregados. Después, la " +"puerta de salida cifra esa información pre procesada y la envía al primer" +" salto. El par y los siguientes túneles participantes añaden una capa de " +"cifrado después de verificar que no es duplicado y antes de enviarlo al " +"siguiente par. Eventualmente, este mensaje llega al punto final, donde el" +" mensaje es dividido de nuevo y enviado conforme a lo solicitado. La " +"diferencia surge en lo que hace el creador del túnel - para los túneles " +"de entrada, el creador es el punto final y simplemente descifra todas las" +" capas añadidas, mientras que para los túneles de salida, el creador es " +"la puerta de salida y pre descifran todas las capas con lo que después de" +" que todos las capas de cifrado por salto son añadidas, el mensaje llega " +"en claro al túnel de punto final." #: i2p2www/pages/site/docs/how/tech-intro.html:244 msgid "" @@ -14560,6 +15884,18 @@ msgid "" "information \n" "has its own serious anonymity implications." msgstr "" +"La elección del cada par al pasar un mensaje al igual que su orden es " +"importante para entender el anonimato y el rendimiento de I2P. Mientras " +"que la base de datos de la red (debajo) tiene su propio criterio al " +"elegir en qué pares consultar y almacenar entradas, los creadores de los " +"túneles pueden usar cualquier par en la red y en cualquier orden (e " +"incluso cualquier número de veces) en un solo túnel. Si se conocen " +"globalmente la latencia exacta y capacidad de datos, la selección del " +"orden vendrá dada por las necesidades particulares del cliente y su " +"modelo de seguridad. Desafortunadamente, no es trivial obtener " +"anónimamente la latencia y la capacidad de datos, y al dependerse de " +"pares no confiables para obtener esta información crea serios problemas " +"en el anonimato." #: i2p2www/pages/site/docs/how/tech-intro.html:257 msgid "" @@ -14583,6 +15919,18 @@ msgid "" "code \n" "to organize the peers by their profiles." msgstr "" +"Desde la perspectiva del anonimato, la técnica más simple sería elegir " +"pares aleatoriamente de toda la red, ordenarlos aleatoriamente y usar " +"esos pares en ese orden eternamente. Desde la perspectiva del " +"rendimiento, la técnica más simple sería elegir los pares más rápidos con" +" la capacidad necesaria, repartiendo la carga entre varios pares para " +"manejar transparentemente los fallos, y para reconstruir el túnel cuando " +"cambie la información sobre la capacidad disponible. Mientras que el " +"primer modelo es frágil y deficiente, el segundo necesita información no " +"accesible y no ofrece suficiente anonimato. I2P en cambio funciona " +"ofreciendo un amplio abanico de estrategias de selección de pares, junto " +"con código que tienen en cuenta el nivel de anonimato para organizar los " +"pares y sus perfiles." #: i2p2www/pages/site/docs/how/tech-intro.html:270 msgid "" @@ -14616,6 +15964,23 @@ msgid "" "and \n" "while they currently use fairly simple algorithms, alternatives exist." msgstr "" +"Por defecto I2P está constantemente comprobando los pares con los que " +"interactúa y midiendo su comportamiento - por ejemplo, cuando un par " +"responde a una búsqueda de netBD en 1,3 segundos, la latencia de vuelta " +"es guardada en los perfiles de todos los ruters implicados en los 2 " +"túneles (de entrada y de salida) por los que la respuesta ha pasado, así " +"como el perfil del par consultado. Las mediciones directas, como el " +"retardo de la capa de transporte o la congestión, no se usan como parte " +"del perfil, ya que puede manipularse y ser asociada con el ruter que está" +" midiendo, exponiéndolo a ataques triviales. Mientras se calculan estos " +"perfiles, una serie de cálculos se ejecutan en cada uno para resumir su " +"rendimiento - su latencia, su capacidad para manejar la pérdida de " +"actividad, si está saturado, y cómo de bien está integrado dentro de la " +"red. Estos cálculos son entonces comparados por los pares activos para " +"organizar los ruters en 4 niveles - rápido y con gran capacidad, gran " +"capacidad, sin caídas y con caídas. Los umbrales de estos niveles son " +"determinados dinámicamente, y mientras que se usan algoritmos bastantes " +"sencillos también existen otras alternativas." #: i2p2www/pages/site/docs/how/tech-intro.html:288 msgid "" @@ -14641,6 +16006,19 @@ msgid "" " \n" "adversaries." msgstr "" +"Usando este perfil, la estrategia de selección de par más razonable es " +"coger los pares aleatoriamente del nivel más alto (rápido y con gran " +"capacidad), que es los que se hace para los túneles clientes. Para los " +"túneles de exploración (usados por netDB y la administración de túneles) " +"se toman túneles aleatorios del nivel \"sin fallos\" (lo que incluye " +"también a los túneles en los \"mejores\" niveles), permitiendo a los " +"ruters tomar muestras más ampliamente, lo que tiene el efecto de " +"optimizar la selección de pares a través de la escalada aleatoria. Sin " +"embargo estas estrategias solas filtran información de los pares que " +"están en el nivel más alto a causa de sus predecesores y a causa de " +"ataques de 'cosechado' en la netDB. A su vez, existen otras alternativas," +" las cuales, aunque no reparten la carga igualitariamente, resistirán " +"ciertos ataques usados habitualmente." #: i2p2www/pages/site/docs/how/tech-intro.html:302 msgid "" @@ -14678,6 +16056,26 @@ msgid "" "sure \n" "their order doesn't change." msgstr "" +"Tomando una clave aleatoria y ordenando los pares de acuerdo a su " +"distancia XOR de ella, la información expuesta es reducida en los ataques" +" del predecesor y de cosechado conforme a la velocidad de fallo del par y" +" de su mezcla de niveles. Otra estrategia simple para tratar con el " +"ataque del cosechado de la netDB es simplemente fijando la puerta de " +"salida(s) de túnel de entrada, ya sea aleatorizando los pares más lejos o" +" en los túneles. Para tratar con el ataque del predecesor por adversarios" +" con los que contacta el cliente, los puntos finales del túnel de salida " +"deberían permanecer también fijos. Para seleccionar que par fijar en el " +"punto más expuesto se necesitará, por supuesto, un límite de duración ya " +"que todos los pares fallan más tarde o más temprano, con lo cual podría " +"ser ajustado de manera reactiva o evitado de manera activa, para imitar " +"el tiempo medio de los fallos de otros ruters. Estas 2 estrategias pueden" +" ser combinadas en turnos, usando un par expuesto fijo y un orden basado " +"en XOR dentro de los propios túneles. Una estrategia más rígida sería " +"fijar los pares justos y ordenarlos en un túnel potencial, sólo usando " +"pares individuales si todos están de acuerdo en participar de la misma " +"forma cada vez. Esto varía del ordenado basado en XOR en que el " +"predecesor y sucesor de cada par es siempre el mismo, mientras que el XOR" +" asegura que el orden no cambie. " #: i2p2www/pages/site/docs/how/tech-intro.html:322 #, python-format @@ -14689,6 +16087,12 @@ msgid "" "and peer selection can be found in the tunnel " "spec." msgstr "" +"Como se ha mencionado anteriormente, actualmente I2P (versión 0.8) " +"incluye la estrategia anterior de nivelado aleatorio, con ordenado basado" +" en XOR. Una discusión más detallada en los mecanismos de la utilización," +" administración y selección de los pares de los túneles puede ser " +"encontrada en las especificaciones del " +"túnel." #: i2p2www/pages/site/docs/how/tech-intro.html:330 #, python-format @@ -14697,6 +16101,9 @@ msgid "" "This is detailed in the network database page,\n" "but a basic explanation is available below." msgstr "" +"Como se ha dicho antes, las netDB de I2P trabaja para compartir los " +"metadatos de la red. Esto se detalla en the network" +" database, pero una explicación básica está disponible debajo." #: i2p2www/pages/site/docs/how/tech-intro.html:336 msgid "" @@ -14707,6 +16114,11 @@ msgid "" "floodfill routers\n" "drops too low." msgstr "" +"Un porcentaje de los usuarios de I2P son designados como 'pares " +"floodfill'. Actualmente, las instalaciones de I2P que tienen un gran " +"ancho de banda y son suficientemente rápidas se designarán ellas mismas " +"como floodfills tan pronto como el número de de ruters floodfill " +"existentes decrezca demasiado." #: i2p2www/pages/site/docs/how/tech-intro.html:343 #, python-format @@ -14724,22 +16136,36 @@ msgid "" "to other peers,\n" "but will always answer by itself (if it has the requested data)." msgstr "" +"Otros rutes I2P almacenarán sus datos y sus datos de búsqueda simplemente" +" enviando consultas 'store' y 'lookup' a los floodfills. Si un floodfill " +"recibe una consulta 'store', este difundirá la información a otros ruters" +" floodfill usando el algoritmo Kademlia. " +"Las consultas 'lookup' funcionan de manera diferente para evitar un problema de seguridad importante. Cuando se" +" hace una búsqueda, el ruter floodfill no re enviará la búsqueda a otros " +"pares, pero siempre responderá él mismo (si tiene la información " +"requerida)." #: i2p2www/pages/site/docs/how/tech-intro.html:353 msgid "Two types of information are stored in the network database." -msgstr "" +msgstr "En la base de datos de la red se almacenan dos tipos de información." #: i2p2www/pages/site/docs/how/tech-intro.html:357 msgid "" "A RouterInfo stores information on a specific I2P router and how " "to contact it" msgstr "" +"RouterInfo almacena información sobre un ruter I2P determinado y " +"como contactar con él. " #: i2p2www/pages/site/docs/how/tech-intro.html:358 msgid "" "A LeaseSet stores information on a specific destination (e.g. I2P " "website, e-mail server...)" msgstr "" +"LeaseSet almacena información sobre una destinación específica " +"(e.g. web I2P, servidor de correo...)" #: i2p2www/pages/site/docs/how/tech-intro.html:360 msgid "" @@ -14753,14 +16179,22 @@ msgid "" " default)\n" "and detecting skew between routers at the transport layer." msgstr "" +"Toda esta información es firmada par la parte publicadora y verificada " +"por cualquier ruter I2P que use o almacene la información. Además, los " +"datos contienen información de la fecha para evitar el almacenamiento de " +"entradas antiguas y posibles ataques. Esto es por que I2P empaqueta el " +"código necesario para mantener la fecha correcta, a veces consultando " +"algunos servidores SNTP (por defecto pool.ntp.org) y detectando " +"diferencias entre los ruters y la capa de transporte." #: i2p2www/pages/site/docs/how/tech-intro.html:368 msgid "Some additional remarks are also important." -msgstr "" +msgstr "Hay algunos comentarios adicionales que también son importantes:" #: i2p2www/pages/site/docs/how/tech-intro.html:373 msgid "Unpublished and encrypted leasesets:" -msgstr "" +msgstr "Leasesets cifrados y no publicados:" #: i2p2www/pages/site/docs/how/tech-intro.html:374 msgid "" @@ -14770,10 +16204,15 @@ msgid "" "An alternative are the 'encrypted leaseSets'. These leaseSets can only be" " decoded by people with access to the decryption key." msgstr "" +"Uno puede desear que sólo determinada gente sea capaz de alcanzar una " +"destinación. Esto es posible si no publica su destinación en la netDB. " +"Pero entonces deberá transmitir la destinación de alguna otra forma. Una " +"alternativa son los 'leaseSets' cifrados. Estos leaseSets' sólo pueden " +"ser decodificados por la gente con acceso a la clave de descrifrado." #: i2p2www/pages/site/docs/how/tech-intro.html:381 msgid "Bootstrapping:" -msgstr "" +msgstr "Obteniendo los pares iniciales o Bootstrapping:" #: i2p2www/pages/site/docs/how/tech-intro.html:382 msgid "" @@ -14785,10 +16224,17 @@ msgid "" "I2P automatically connects to one of these websites to gather routerInfo " "files and bootstrap." msgstr "" +"Bootstrapping en la netDB es muy simple. Una vez que un ruter recibe un " +"routerInfo de un par accesible, puede consultar a ese ruter por " +"referencias de otros ruters en la red. Actualmente varios usuarios " +"comparten sus archivos routerInfo en una web para hacer que la " +"información esté disponible. I2P se conecta automáticamente a una de " +"estas webs para obtener los archivos routerInfo y obtener los primeros " +"pares, bootstrap." #: i2p2www/pages/site/docs/how/tech-intro.html:390 msgid "Lookup scalability:" -msgstr "" +msgstr "Escalabilidad de las búsquedas:" #: i2p2www/pages/site/docs/how/tech-intro.html:391 msgid "" @@ -14802,6 +16248,12 @@ msgid "" "Because of this, refinements to the netDb will be done in the next " "releases." msgstr "" +"Las búsquedas en la red I2P no son enviadas a otras netDBs de otros " +"ruters. Actualmente no hay ningún problema ya que la red no es muy " +"grande. Aún así, según vaya creciendo la red no todos los routerInfos y " +"leaseSets estarán presentes en cada netDB de cada ruter. Esto causaría un" +" deterioro en el porcentaje de búsquedas con éxito. A causa de esto en " +"las prósimas versiones se mejorará la netDB." #: i2p2www/pages/site/docs/how/tech-intro.html:402 msgid "" @@ -14815,6 +16267,12 @@ msgid "" " \n" "have been used at different points to provide those bare necessities." msgstr "" +"La comunicación entre ruters necesita proporcionar confidencialidad e " +"integridad contra cualquier adversario externo mientras se autentifica " +"que el ruter contactado es el que debe recibir el mensaje. Los detalles " +"de como se comunican los ruters con otros ruters no son críticos - se han" +" usado tres protocolos diferentes en varios puntos para suplir estas " +"necesidades." #: i2p2www/pages/site/docs/how/tech-intro.html:410 #, python-format @@ -14828,11 +16286,17 @@ msgid "" "\"Secure \n" "Semireliable UDP\", or \"SSU\"." msgstr "" +"I2P comenzó con un protocolo basado en TCP que ha sido deshabilitado. " +"Entonces, para adaptarse a las necesidades de comunicaciones de alto " +"nivel (ya que los ruters terminarán hablando con muchos otros ruters), " +"I2P cambió de un transporte basado en TCP a uno basado en UDP - \"Secure Semireliable UDP\", \"UDP " +"seguro semi fiable o \"SSU\"." #: i2p2www/pages/site/docs/how/tech-intro.html:418 #, python-format msgid "As described in the SSU spec:" -msgstr "" +msgstr "Como se describe en la especificación de SSU:" #: i2p2www/pages/site/docs/how/tech-intro.html:422 msgid "" @@ -14849,6 +16313,15 @@ msgid "" "addressing \n" "network obstacles, like most NATs or firewalls." msgstr "" +"El fin de este protocolo es proporcionar el envío seguro de mensajes, " +"autentificado, semi fiable y no ordenado, revelando sólo una pequeña " +"cantidad de datos fácilmente discernible para terceras partes. Debe " +"soportar sólo comunicaciones de alto nivel así como sistemas de control " +"de congestión amigables con TCP y debe incluir también detección PMTU. " +"Debe ser capaz de mover eficientemente un gran volumen de datos a " +"velocidades apropiadas para los usuarios domésticos. Además debe soportar" +" técnicas para lidiar con los obstáculos en la red, como NATs o " +"firewalls." #: i2p2www/pages/site/docs/how/tech-intro.html:432 #, python-format @@ -14867,6 +16340,14 @@ msgid "" " \n" "per connection issues of the old TCP transport." msgstr "" +"Tras la introducción de SSU, y después de aparecer algunos problemas de " +"congestión, se implementó un nuevo transporte TCP basado en NIO llamado " +"NTCP. Está activado por defecto sólo para las " +"conexiones de salida. Aquellos que configuran sus NAT/firewall para " +"permitir conexiones de entrada y especifican el puerto y host externo " +"(dyndns/etc es válido) en /config.jsp pueden recibir conexiones de " +"entrada. Al estar NTPC basado en NIO no sufre del problema de \"1 hilo " +"por conexión\" del viejo protocolo de transporte TCP." #: i2p2www/pages/site/docs/how/tech-intro.html:442 msgid "" @@ -14879,6 +16360,12 @@ msgid "" "already \n" "an established connection to the peer." msgstr "" +"I2P soporta simultáneamente varios tipos de transportes. Para conexiones " +"de salida se selecciona un determinado tipo de transporte a través de " +"\"pujas\". Cada tipo de transporte puja por la conexión y el valor " +"relativo de esa puja asignará la prioridad. Los transportes pueden " +"responder con varias apuestas, dependiendo de si ya hay una conexión " +"establecida con el par." #: i2p2www/pages/site/docs/how/tech-intro.html:450 #, python-format @@ -14892,6 +16379,12 @@ msgid "" "href=\"%(ntcp)s\">NTCP \n" "page." msgstr "" +"La implementación actual clasifica en la mayoría de las situaciones a " +"NTPC como el sistema de transporte de mayor prioridad para conexiones de " +"salida. SSU está activo para las conexiones de entrada y de salida. Su " +"cortafuegos y su ruter I2P tienen estar configurados para permitir " +"conexiones de entrada NTCP. Para más información vea la ṕagina de NTCP." #: i2p2www/pages/site/docs/how/tech-intro.html:459 msgid "" @@ -14918,10 +16411,23 @@ msgid "" "ElGamal/AES+SessionTags \n" "(explained below)." msgstr "" +"Un conjunto mínimo de cifrados son combinados para proveer a I2P defensas" +" contra varios adversarios. En el nivel más bajo la comunicación entre " +"ruters es protegida por la capa de seguridad de transporte - SSU cifra " +"cada paquete con AES256/CBC incluyendo un IV explícito y MAC (HMAC-" +"MD5-128), después de haber acordado una clave de sesión efímera a través " +"de un intercambio Diffie-Hellman de 2048bit, autenticación de estación a " +"estación con la clave DSA de los otros ruters, y además cada mensaje de " +"red tiene su propio hash para comprobar la integridad local. Los mensajes" +" de túnel ya transportados tienen su propio " +"cifrado por capas AES256/CBC con un IV explícito verificado en el punto " +"final del túnel con un hash adicional SHA256. Otros ciertos mensajes son " +"pasados dentro del \"mensaje garlic\" y son cifrados con " +"ElGamal/AES+Etiquetas de sesión (explicado más abajo)." #: i2p2www/pages/site/docs/how/tech-intro.html:474 msgid "Garlic messages" -msgstr "" +msgstr "Mensajes Garlic" #: i2p2www/pages/site/docs/how/tech-intro.html:475 msgid "" @@ -14949,6 +16455,19 @@ msgid "" "recipient's \n" "leaseSet, and forward it through the appropriate tunnels." msgstr "" +"Los mensajes Garlic son una extensión de la capa de cifrado \"onion\", " +"permitiendo que el contenido de un simple mensaje contenga múltiples " +"\"clavos\" - mensajes formados completamente y con sus propias " +"instrucciones para el envío. Los mensajes son envueltos dentro de un " +"mensaje Garlic ya que de otra forma deberían enviarse en texto plano a " +"través de un par que no tiene que por que tener acceso a esa información " +"- por ejemplo, cuando un ruter quiere preguntar a otro ruter si participa" +" en un túnel, envuelven la solicitud dentro del garlic, y lo envían a " +"través de un túnel. Otro ejemplo es cuando un cliente quiere enviar un " +"mensaje a una destinación - el ruter del remitente envolverá los datos " +"del mensaje (junto con otros mensajes) dentro de un garlic, cifrará ese " +"garlic con la clave pública de 2048bit ElGamal publicada en el leaseSet " +"del beneficiario, y lo enviará a través de los túneles apropiados." #: i2p2www/pages/site/docs/how/tech-intro.html:490 msgid "" @@ -14972,10 +16491,22 @@ msgid "" "are \n" "not currently used in the existing implementation." msgstr "" +"Las \"instrucciones\" adjuntas a cada clavo, 'clove', dentro de la capa " +"de cifrado incluye la habilidad de solicitar que el clavo sea enviado " +"localmente a un ruter remoto, o a un túnel remoto en un ruter remoto. Hay" +" campos en esas instrucciones que permiten a un par solicitar que el " +"envío sea retrasado un cierto tiempo o hasta que se cumpla cierta " +"condición, pero no funcionará hasta que los retardos no triviales funcionen en " +"estas versiones. Es posible enrutar explícitamente mensajes garlic de " +"cualquier número de saltos sin construir túneles, o incluso re enrutar " +"mensajes de túnel envolviéndolos en un mensaje garlic y enviándolos por " +"unos cuantos saltos antes de enviarlos al siguiente salto en el túnel, " +"pero estas técnicas no se usan en en las implementaciones existentes." #: i2p2www/pages/site/docs/how/tech-intro.html:503 msgid "Session tags" -msgstr "" +msgstr "Etiquetas de sesión" #: i2p2www/pages/site/docs/how/tech-intro.html:504 msgid "" @@ -14989,6 +16520,13 @@ msgid "" "describe \n" "the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces." msgstr "" +"Como un sistema basado en mensajes no ordenados y no fiables , I2P usa " +"una simple combinación de algoritmos de cifrado simétricos y asimétricos " +"para proporcionar la confidencialidad de los datos y la integridad de los" +" mensajes garlic. En conjunto, a la combinación se le llama " +"ElGamal/AES+Etiquetas de sesión, pero es una forma excesivamente larga de" +" describir el uso del 2048bit ElGamal, AES256, SHA256 y nonces de 32 " +"bytes." #: i2p2www/pages/site/docs/how/tech-intro.html:543 msgid "" @@ -15006,6 +16544,14 @@ msgid "" " \n" "to the full expensive ElGamal encryption." msgstr "" +"Las etiquetas de sesión tienen un vida muy corta, después de la cual son " +"descartadas y no se usan más. Además, el número almacenado de ellas por " +"cada clave es limitado, como también está limitado el número de claves - " +"si llegan demasiadas, serán descartados los mensajes nuevos o los viejos." +" El remitente lleva el seguimiento de los mensajes con etiquetas de " +"sesión que pasan a través suyo, y si no hay comunicación suficiente " +"podría descartar los mensajes supuestamente enviados correctamente, " +"volviendo al costoso cifrado ElGamal." #: i2p2www/pages/site/docs/how/tech-intro.html:553 msgid "" @@ -15029,10 +16575,21 @@ msgid "" "moment, \n" "there are no immediate plans to move towards these synchronized PRNGs." msgstr "" +"Una alternativa sería transmitir sólo una etiqueta de sesión, y desde ahí" +" sembrar un PRNG determinista para determinar que etiquetas usar o " +"esperar. Manteniendo este PRNG bien sincronizado entre el remitente y el " +"receptor (el receptor precalcula por ejemplo las siguiente 50 etiquetas) " +"se evita la saturación de tener que calcular un gran número de etiquetas," +" permitiendo más opciones en ese espacio/tiempo de intercambio, y quizás " +"reduciendo el número de cifrados necesarios de ElGamal. Sin embargo, " +"dependerá de la fortaleza de PRNG de proteger contra adversarios " +"internos, quizás limitando las veces que se usa cada PRNG se podrían " +"limitar las debilidades. Hasta el momento no hay planes inmediatos para " +"cambiar a estos PRNGs sincronizados." #: i2p2www/pages/site/docs/how/tech-intro.html:566 msgid "Future" -msgstr "" +msgstr "El futuro" #: i2p2www/pages/site/docs/how/tech-intro.html:567 msgid "" @@ -15043,10 +16600,14 @@ msgid "" "facing more powerful adversaries as well as substantial user experience " "optimization." msgstr "" +"Mientras que I2P es suficientemente funcional en mucho escenarios, hay " +"varias áreas en las que requiere mejoras, como cubrir las necesidades de " +"aquellos que se enfrentan a adversarios poderoso o mejorar la experiencia" +" del usuario." #: i2p2www/pages/site/docs/how/tech-intro.html:573 msgid "Restricted route operation" -msgstr "" +msgstr "Funcionamiento restringido del ruter" #: i2p2www/pages/site/docs/how/tech-intro.html:574 msgid "" @@ -15067,6 +16628,15 @@ msgid "" " \n" "network employing such an algorithm." msgstr "" +"I2P es una red designada para ejecutarse sobre una red conmutada de " +"paquetes funcionales, usando el principio de fin a fin para ofrecer " +"anonimato y seguridad. Mientras que Internet ya no abraza el principio de" +" fin a fin (por el uso de NAT), I2P necesita tener a su disposición una " +"gran parte de la red - pueden haber algunos pares en los usando ruters " +"restringidos no accesibles, pero I2P no incluye un algoritmo apropiado de" +" enrutamiento para el extraño caso de que la mayoría de los pares no sean" +" accesibles. Aún así podría funcionar sobre una red que utilizase dicho " +"algoritmo." #: i2p2www/pages/site/docs/how/tech-intro.html:586 msgid "" @@ -15090,6 +16660,17 @@ msgid "" " \n" "the published introducer." msgstr "" +"El funcionamiento restringido del ruter, donde hay límites en el número " +"de ruters que son accesibles directamente, tiene varias funciones e " +"implicaciones en el anonimato dependiendo do como sean manejados los " +"ruters restringidos. En el nivel más básico los ruters restringidos " +"existen cuando un par está tras un NAT o cortafuegos que no permiten " +"conexiones entrantes. Esto fue solucionado en I2P 0.6.0.6 al integrar " +"\"perforación\" distribuida en la capa de transporte, permitiendo a la " +"gente tras NATs o cortafuegos recibir conexiones no solicitadas sin " +"ninguna configuración. Aún así esto no limita la exposición de la IP de " +"lo pres a los ruters dentro de la red, ya que estos pueden presentarse a " +"sí mismos al par a través del introductor ya publicado." #: i2p2www/pages/site/docs/how/tech-intro.html:599 msgid "" @@ -15131,6 +16712,27 @@ msgid "" "I2P \n" "2.0." msgstr "" +"Más allá del manejo funcional de ruters restringidos hay 2 niveles de " +"operaciones restringidas que pueden usarse para limitar la exposición de " +"la dirección IP - usando túneles específicos para la comunicación y " +"ofreciendo 'ruters cliente'. En el primer caso, los ruters pueden, o " +"construir un nuevo conjunto de túneles o reutilizar su conjunto de " +"túneles publicando la gateway de entrada a algunos de ellos como parte de" +" su routerInfo en lugar de su dirección de transporte. Cuando un par " +"quiere ponerse en contacto con él, puede ver esas puertas de salida de " +"los túneles en la netDb y simplemente enviar el mensaje a través de uno " +"de los túneles publicados. Si el par detrás del ruter restringido quiere " +"conectarse, puede hacerlo directamente (si desea exponer su IP al otro " +"par) o indirectamente a trabés de sus túneles de salida. Cuando los " +"ruters con los tienen conexión directa quieren contactarlo (por ejemplo " +"para enviar mensajes de túnel), simplemente prioriza su conexión directa " +"sobre la puerta la puerta de salida del túnel ya publicada. El concepto " +"de 'ruters cliente' simplemente amplía la ruta restringida no publicando " +"ninguna dirección de ruter. Este tipo de ruters ni siquiera necesita " +"publicar si routerInfo en la netDb, simplemente proveyendo su routerInfo " +"firmado por sí mismo al par con el que contacta (esto es necesario para " +"pasar las claves públicas del riter). Ambos niveles de operaciones " +"restringidas del ruter están planeadas para la versión 2.0 de I2P." #: i2p2www/pages/site/docs/how/tech-intro.html:621 msgid "" @@ -15152,10 +16754,20 @@ msgid "" " \n" "perhaps temporary) peers are used instead." msgstr "" +"Existen inconvenientes para aquellos detrás de ruters restringidos ya que" +" participarán menos frecuentemente en los túneles de otra gente, y los " +"ruters a los que está conectado podrían ser capaces de descubrir patrones" +" en el tráfico que de otra forma no podrían verse. Por otro lado, si el " +"coste de exponer esos patrones es menor que el coste de de hacer que la " +"IP esté disponible, puede valer la pena. Esto, por supuesto, suponiendo " +"que los pares de los ruters con los que contacta el ruter restringido no " +"son hostiles - o por que la red es suficientemente grande como para que " +"la probabilidad de conectarse a un ruter hostil sea muy pequela, o porque" +" se usan pares de confianza (y quizás temporales)." #: i2p2www/pages/site/docs/how/tech-intro.html:633 msgid "Variable latency" -msgstr "" +msgstr "Latencia variable" #: i2p2www/pages/site/docs/how/tech-intro.html:634 msgid "" @@ -15187,6 +16799,22 @@ msgid "" "tunnel, \n" "or, most likely, to a remote client destination." msgstr "" +"Incluso aunque la mayoría de los esfuerzos iniciales han sido para que " +"I2P tenga una comunicación de baja latencia, fue diseñado desde el " +"principio para servicios de latencia variable. Al nivel más básico, las " +"aplicaciones corriendo sobre I2P pueden ofrecer anonimato en " +"comunicaciones de media y alta latencia mientras mezcla su tráfico con " +"tráfico de baja latencia. Sin embargo, internamente I2P puede ofrecer sus" +" comunicaciones de media y alta latencia a través de su cifrado garlic - " +"especificando que el mensaje debe ser enviado después de un cierto " +"retraso, en un determinado momento, después de que hayan pasado cierto " +"número de mensajes o cualquier otra estrategia de mezclado. Con el " +"cifrado por capas sólo el ruter que hizo la petición de retraso sabrá que" +" el mensaje requiere alta latencia, permitiendo que el tráfico se mezcle " +"más con el tráfico de baja latencia. Una vez que la condición de " +"transmisión se cumple, el ruter que mantiene el clavo (que en sí mismo " +"podría ser como un mensaje garlic) simplemente envía su petición - a un " +"ruter, a un túnel, o, lo más probable, a una destinación cliente remota." #: i2p2www/pages/site/docs/how/tech-intro.html:651 msgid "" @@ -15200,34 +16828,43 @@ msgid "" "provide \n" "it." msgstr "" +"Hay un número bastante grande de formas de explotar esta capacidad de " +"comunicación de alta latencia en I2P, por el momento, hacerlo se ha " +"postergado hasta la versión 3.0 de I2P. Mientras tanto, aquellos que " +"requieran el anonimato que las comunicaciones de alta latencia pueden " +"ofrecer deben mirar en la capa de aplicación para obtenerlo. " #: i2p2www/pages/site/docs/how/tech-intro.html:659 msgid "Open questions" -msgstr "" +msgstr "Preguntas sin resolver" #: i2p2www/pages/site/docs/how/tech-intro.html:661 msgid "How to get rid of the timing constraint?" -msgstr "" +msgstr "¿Cómo deshacerse de la restricción de tiempo?" #: i2p2www/pages/site/docs/how/tech-intro.html:662 msgid "Can we deal with the sessionTags more efficiently?" -msgstr "" +msgstr "¿Podemos manejar más eficientemente las etiquetas de sesión?" #: i2p2www/pages/site/docs/how/tech-intro.html:663 msgid "" "What, if any, batching/mixing strategies should be made available on the " "tunnels?" msgstr "" +"¿Cuales, si hay alguna, estrategias de mezclado deberían estar " +"disponibles en los túneles?" #: i2p2www/pages/site/docs/how/tech-intro.html:664 msgid "" "What other tunnel peer selection and ordering strategies should be " "available?" msgstr "" +"¿Qué otras estrategias de selección de túneles de pares deberian estar " +"disponibles?" #: i2p2www/pages/site/docs/how/tech-intro.html:667 msgid "Similar systems" -msgstr "" +msgstr "Sistemas similares" #: i2p2www/pages/site/docs/how/tech-intro.html:669 msgid "" @@ -15245,16 +16882,26 @@ msgid "" "comparisons, \n" "two in particular are pulled out here - Tor and Freenet." msgstr "" +"La arquitectura de I2P está basada en el concepto de software orientado a" +" mensajes, la topología de DHTs, el cifrado y anonimato de redes de " +"mezcla libres, y la adaptabilidad de las redes conmutadas de paquetes. Su" +" valor no reside en nuevos conceptos o algoritmos, sino en la cuidadosa " +"combinación de resultados de investigación de trabajos y sistemas ya " +"existentes. Mientras que hay varios esfuerzos similares a los que vale la" +" pena echar un ojo, se han elegido 2 en particular para comparaciones " +"técnicas y funcionales - Tor y Freenet." #: i2p2www/pages/site/docs/how/tech-intro.html:679 #, python-format msgid "See also the Network Comparisons Page." msgstr "" +"Ver también la web de comparación entre " +"redes." #: i2p2www/pages/site/docs/how/tech-intro.html:684 #: i2p2www/pages/site/docs/how/tech-intro.html:749 msgid "website" -msgstr "" +msgstr "página web" #: i2p2www/pages/site/docs/how/tech-intro.html:686 msgid "" @@ -15293,6 +16940,28 @@ msgid "" "offer \n" "better performance." msgstr "" +"A primera vista, Tor e I2P tienen muchas similitudes en lo que se refiere" +" a funcionamiento y anonimato. Aunque I2P se empezó a desarrollar antes " +"eramos conscientes de los esfuerzos hechos al inicio de Tor, muchas de " +"las lecciones aprendidas de la red onion original y ZKS fueron integradas" +" en el diseño de I2P. En vez de construir un sistema centralizado y de " +"confianza con servidores de directorios, I2P tiene su propia base de " +"datos de red auto organizable en la que cada par toma la responsabilidad " +"de acceder al perfil de otros ruters para determinar como aprovechar los " +"recursos disponibles. Otra diferencia básica es que mitras I2P y Tor usan" +" rutas ordenadas y en capas (túneles y circuitos/streams), I2P es " +"fundamentalmente una red conmutada de paquetes, mientras que Tor es " +"fundamentalmente un circuito conmutado, permitiendo a I2P enrutar " +"evitando congestiones y otros fallos de la red transparentemente , operar" +" en vías redundantes, y hacer balance de carga de los datos a través de " +"los recursos disponibles. Mientras que Tor ofrece una funcionalidad tan " +"útil como el outproxy ofreciendo el descubrimiento y selección de " +"outproxy integrado, I2P deja esas decisiones sobre la capa de aplicación " +"a las aplicaciones ejecutándose sobre I2P - de hecho, I2P incluso ha " +"exteriorizado la librería de streaming tipo TCP a la capa de aplicación, " +"permitiendo a los desarrolladores el experimentar con diferentes " +"estrategias, usando el conocimiento específico de dominio para ofrecer " +"mejores rendimientos." #: i2p2www/pages/site/docs/how/tech-intro.html:707 msgid "" @@ -15319,6 +16988,19 @@ msgid "" "we could simply build an inbound and outbound tunnel along the same " "routers." msgstr "" +"Desde el punto de vista del anonimato, cuando comparamos el núcleo de las" +" redes hay muchas similaridades entre ellos. Pero hay unas cuantas " +"diferencias claves. Cuando se trata de lidiar con adversario interno o " +"varios adversarios externos observando los propios flujos de datos, los " +"túneles simples de I2P exponen la mitad de información en el tráfico de " +"lo que exponen los circuitos dobles de Tor - una petición y respuesta " +"HTTP seguirían el mismo camino en Tor, mientras que I2P el paquete que " +"hace la consulta iría a través de uno o más túneles y el paquete con la " +"respuesta regresarían a través de otro o más túneles de entrada " +"diferentes. Mientras que la selección del orden y estrategias por parte " +"del par deberían ser suficientes para enfrentarse a los ataques de " +"predecesor, podríamos simplemente construir un túnel de entrada y de " +"salida a través de los mismos ruters." #: i2p2www/pages/site/docs/how/tech-intro.html:721 msgid "" @@ -15337,6 +17019,14 @@ msgid "" "a series of powerful predecessor, intersection, and traffic confirmation " "attacks." msgstr "" +"Otro problema para el anonimato aparece en el uso por parte de Tor de la " +"creación telescópica de túnel, un simple contador y medidor de tiempo de " +"los paquetes que pasan a través de un nodo enemigo puede obtener " +"información estadística sobre la posición de la víctima en el circuito. " +"La creación unidireccional para cada mensaje en I2P hace que esta " +"información no sea expuesta. Ocultar la posición de un túnel es " +"importante, ya que un adversario podría montar una serie de potentes " +"ataques como el de predecesores, intersección y confirmación de tráfico." #: i2p2www/pages/site/docs/how/tech-intro.html:731 msgid "" @@ -15346,6 +17036,10 @@ msgid "" "not \n" "offer this topology until 2.0." msgstr "" +"El soporte de Tor de un segundo nivel de \"onion proxies\" ofrece un " +"grado de anonimato nada trivial, mientras que requiere un bajo coste de " +"entrada, mientras que I2P no ofrecerá este tipo de topoligía hasta la " +"versión 2.0." #: i2p2www/pages/site/docs/how/tech-intro.html:737 msgid "" @@ -15365,6 +17059,16 @@ msgid "" "switching \n" "architecture will be able to exploit scarce resources more effectively." msgstr "" +"En conjunto, Tor e I2P se complementan el uno al otro - Tor funciona " +"ofreciendo outproxing a Internet de alta velocidad y anónimo, mientras " +"que I2P ofrece una red resistente y descentralizada dentro de sí mismo. " +"En teoría se pueden usar los 2 para obtener los mismos fines, pero dados " +"los limitados recursos de desarrollo, ambos tienen sus ventajas e " +"inconvenientes. Los desarrolladores de I2P han considerado los pasos " +"necesarios para modificar Tor para para la mejora del diseño de I2P, pero" +" preocupaciones sobre la viabilidad de Tor con bajo escasos recursos " +"sugiere que la arquitectura de enrutamiento de paquetes de I2P será capaz" +" de funcionar más eficientemente con recursos escasos." #: i2p2www/pages/site/docs/how/tech-intro.html:751 msgid "" @@ -15400,6 +17104,25 @@ msgid "" "according \n" "to Freenet's heuristic distributed data storage algorithms." msgstr "" +"Freenet jugó un rol importante en los primeros pasos del diseño de I2P - " +"mostrando pruebas de la viabilidad de una comunidad vibrante " +"completamente dentro de la red, mostrando que los peligros inherentes de " +"los outproxies podían ser evitados. La primera semilla de I2P comenzó " +"como el remplazo de una capa de comunicación para Freenet, al intentar " +"extraer la complejidad de una comunicación de punto a punto segura y " +"anónima de las complicaciones del almacenamiento distribuido resistente a" +" la censura. Aunque la final, algunos de los problemas de escalabilidad y" +" anonimato inherentes a los algoritmos de Freenet dejó claro que debería " +"enfocarse I2P para proveer una capa de comunicación anónima por sí misma " +"en vez de ser un componente de Freenet. A través de los años, los " +"desarrolladores de Freenet se han dado cuenta de las debilidades del " +"viejo diseño, provocando que sugiriesen que necesitarían una capa de " +"\"pre mezcla\" para ofrecer suficiente anonimato. En otras palabras, " +"Freenet debe ejecutarse sobre una mixnet como I2P o Tor, con \"nodos " +"cliente\" solicitando y publicando datos a través de la mixnet a los " +"\"nodos servidores\" los cuales entonces almacenan los datos de acuerdo " +"con la heurística de los algoritmos de almacenamiento de datos " +"distribuidos de Freenet." #: i2p2www/pages/site/docs/how/tech-intro.html:770 msgid "" @@ -15419,6 +17142,16 @@ msgid "" " \n" "(or helping to improve, as necessary) existing mixnets like I2P or Tor." msgstr "" +"Las funcionalidades de Freenet son muy complementarias a las de I2P, ya " +"que Freenet provee nativamente muchas herramientas para operar en " +"sistemas de media y alta latencia, mientras que I2P provee nativamente " +"una red de baja latencia adecuada para ofrecer anonimato. La lógica para " +"separar la mixnet de los datos distribuidos resistentes a censura, son " +"muy evidentes desde la perspectiva del anonimato, seguridad y de la " +"asignación de los recursos, con lo que esperamos que el equipo de " +"Freenet ponga sus esfuerzos en esta dirección, aunque sea reutilizando (o" +" ayudando a mejorar, si es necesario) las redes existentes como I2P y " +"Tor." #: i2p2www/pages/site/docs/how/tech-intro.html:781 msgid "" @@ -15445,6 +17178,19 @@ msgid "" "Freenet \n" "team makes more information available." msgstr "" +"Vale la pena mencionar que recientemente ha habido discusiones y trabajos" +" realizados por los desarrolladores de Freent sobre una \"darknet " +"escalable global\" usando pares restringidos entre pares de varias " +"confianzas. Mientras que no se ha hecho pública suficiente información " +"sobre como funcionará ese sistema para una revisión completa, pero lo que" +" se ha dicho del anonimato y la escalabilidad parecen ser muy dudoso. En " +"particular, el uso apropiado de su uso contra regímenes hostiles ha sido " +"exagerado, y cualquier análisis de las implicaciones sobre la escasez de " +"recursos sobre la escalabilidad de la red han sido aparentemente " +"evitados. Existen otras preguntas sobre la posibilidad de análisis del " +"tráfico, confianza y otros temas, pero hace falta una revisión más " +"profunda de esta \"darknet escalable global\", pero deberán esperar " +"hasta que el equipo de Freenet ponga más información a disposición." #: i2p2www/pages/site/docs/how/tech-intro.html:797 msgid "" @@ -15464,6 +17210,16 @@ msgid "" "of \n" "network applications provide further functionality for end users." msgstr "" +"En sí, I2p no hace mucho - simplemente envía mensajes a destinaciones " +"remotas y recibe mensajes hacia destinaciones locales - la mayoría del " +"trabajo interesante es sobre las capas que hay sobre I2P. Por sí mismo " +"I2P puede verse como una capa de IP anónima y segura, y la librería streaming incluida como una " +"implementación de una capa TCP segura y anónima sobre I2P. Más allá de " +"esto, el I2PTunnel expone un sistema " +"genérico TCP para entrar dentro o salir de la red I2P, más una gran " +"variedad de aplicaciones para proveer más funcionalidades a los usuarios " +"finales." #: i2p2www/pages/site/docs/how/tech-intro.html:809 msgid "" @@ -15481,6 +17237,14 @@ msgid "" "latency \n" "of multiple messages." msgstr "" +"La librería de streaming de I2P puede verse como un interfaz genérico de " +"streaming (reflejando sockets TCP), y la implementación soporta el protocolo " +"sliding window con varias optimizaciones, para tener en cuenta los " +"altos retardos en I2P. Los streams individuales pueden ajustar el tamaño " +"máximo de paquetes y otras opciones, aunque la compresión por defecto de " +"4KB parece una compensación razonable entre el coste de ancho de banda de" +" reenviar los mensajes perdidos y la latencia de múltiples mensajes." #: i2p2www/pages/site/docs/how/tech-intro.html:819 msgid "" @@ -15503,6 +17267,17 @@ msgid "" "can \n" "deliver the full response to the browser immediately." msgstr "" +"Además, en considerando el alto coste de un mensaje, la librería de " +"streaming para programar y enviar mensajes ha sido optimizada para " +"permitir que los mensajes individuales enviados contengan tanta " +"información como esté disponible. Por ejemplo, una pequeña transacción " +"HTTP enviada a través de la librería de streaming puede ser completada en" +" una simple vuelta - el primer mensaje empaqueta a SYN, FIN y un pequeña" +" carga (normalmente encaja una solicitud HTTP) y la respuesta empaqueta " +"el SYN, FIN, ACK y una pequeña carga (muchas respuestas HTTP encajan). " +"Mientras que el ACK adicional debe ser transmitido para decirle al " +"servido HTTP que el SYN/FIN/ACK ha llegado, el proxy HTTP local puede " +"enviar al navegador inmediatamente la respuesta completa." #: i2p2www/pages/site/docs/how/tech-intro.html:832 msgid "" @@ -15514,10 +17289,14 @@ msgid "" "(ACK, \n" "SYN, FIN, RST, etc)." msgstr "" +"En conjunto, la librería de streaming se parece mucho a una abstracción " +"de TCP, con sus sliding windows, algoritmos de control de congestión ( " +"inicio lento e impedimento de congestiones), y comportamiento general de " +"paquetes (ACK, SYN, FIN, RST, etc)." #: i2p2www/pages/site/docs/how/tech-intro.html:839 msgid "Naming library and addressbook" -msgstr "" +msgstr "Librería de dominios y libreta de direcciones" #: i2p2www/pages/site/docs/how/tech-intro.html:840 #, python-format @@ -15525,6 +17304,8 @@ msgid "" "For more information see the Naming and " "Addressbook page." msgstr "" +"Para más información vea la web librería de " +"dominios y libreta de direcciones ." #: i2p2www/pages/site/docs/how/tech-intro.html:844 #: i2p2www/pages/site/docs/how/tech-intro.html:918 @@ -15537,7 +17318,7 @@ msgstr "" #: i2p2www/pages/site/docs/how/tech-intro.html:1053 #, python-format msgid "Developed by: %(dev)s" -msgstr "" +msgstr "Desarrolado por: %(dev)s" #: i2p2www/pages/site/docs/how/tech-intro.html:846 msgid "" @@ -15575,6 +17356,27 @@ msgid "" "addressbooks \n" "as name servers, emulating traditional DNS." msgstr "" +"Los nombres de dominio en I2P han sido debatidos a menudo desde el " +"principio, con defensores para todos los tipos de posibilidades. Sin " +"embargo, y dada la necesidad de comunicaciones seguras y " +"descentralizadas, el sistema tradicional al estilo DNS no es viable, al " +"igual que no lo son los sistemas de votos en los que la \"mayoría " +"manda\". Por el contrario, I2P incluye una librería genérica para nombres" +" de dominios y una implementación básica diseñados para trabajar con " +"nombres locales y mapearlos, así como un pluguin opcional llamada " +"\"addressbook\", lista de direcciones. La lista de direcciones es un " +"sistema de dominios distribuido, basado en un sistema de confianza seguro" +" basado en web y legible, sólo sacrificando AQUÍ FALTA PARTE POR " +"TRADUCIR, incomprensible en inglés. Ya que todos los mensajes en I2P " +"están dirigidos criptográficamente por su destinación, diferentes " +"personas pueden tener entradas en la lista de direcciones para " +"\"Alilce\", pero refiriéndose a destinaciones diferentes. La gente puede " +"descubrir nuevos nombres importando lista de direcciones publicadas por " +"pares específicos de su web de confianza, añadiendo estas entradas a " +"través de una tercera parte, o (si alguien organiza listas de direcciones" +" usando sistema de registro tipo el primero que entra el primero es " +"servido) la gente puede escoger tratar estas lista de direcciones como " +"servidores de dominio, emulando los DNS tradicionales." #: i2p2www/pages/site/docs/how/tech-intro.html:866 msgid "" @@ -15599,6 +17401,19 @@ msgid "" "replay \n" "attacks as well as hostile certificate authority attacks." msgstr "" +"I2P no recomienda el uso de servicios tipo DNS, ya que el daño hecho por " +"una web maliciosas puede ser enorme - una destinación insegura no tiene " +"valor. DNSsec sigue apoyándose en autoridades certificadas, mientras que " +"con I2P las solicitudes a una destinación no pueden ser interceptadas o " +"la respuesta suplantada ya que están cifradas con la clave pública de la " +"destinación, y una destinación en sí misma no es más que un par de claves" +" y un certificado. Por otra parte, los sistemas del tipo DNS permiten que" +" cualquiera de los servidores en el camino de búsqueda pueda montar " +"ataques de denegación de servicio o ataques de suplantación. Añadiendo en" +" un certificado autentificándose la respuesta firmada por alguna " +"autoridad centralizada de certificados podría solucionar muchas de los " +"problemas con los servidores de dominio hostiles, pero lo dejaría abierto" +" a ataques de respuesta y a ataques de autoridad certificada hostil." #: i2p2www/pages/site/docs/how/tech-intro.html:880 msgid "" @@ -15616,6 +17431,14 @@ msgid "" "sets \n" "of answers may be reachable." msgstr "" +"El sistema de dominios por votos también es peligroso, sobre todo por la " +"efectividad de los ataques Sybil en sistemas anónimos- el atacante puede " +"simplemente crear un número aleatorio muy grande de pares y \"votar\" con" +" cada uno para apoderarse de un dominio cualquiera. Existen métodos que " +"pueden usarse para hacer que crear una identidad no sea gratis, pero a " +"medida que la red crece la carga que se necesita para contactar a todos y" +" hacer votación online es enorme, o si no hace falta la red completa, se " +"podrían encontrar otras soluciones." #: i2p2www/pages/site/docs/how/tech-intro.html:890 msgid "" @@ -15629,6 +17452,12 @@ msgid "" "tradeoffs \n" "they prefer." msgstr "" +"Aún así, al igual que con Internet, I2P mantiene el diseño y " +"funcionamiento de un sistema de dominios aparte de la capa de " +"comunicación (como IP). La librería de dominios incluye un interfaz " +"simple de servicio al cual puede conectarse cualquier sistema de " +"dominios, permitiendo a los usuarios finales elegir que tipo de sistema " +"de dominios prefieren." #: i2p2www/pages/site/docs/how/tech-intro.html:899 msgid "" @@ -15638,6 +17467,9 @@ msgid "" "href=\"http://syndie.i2p2.de/\">Syndie\n" "pages." msgstr "" +"El viejo Syndie incluido con I2P ha sido reemplazado con un nuevo Syndie," +" el cual es distribuido aparte. Para más información vea la web de Syndie." #: i2p2www/pages/site/docs/how/tech-intro.html:905 msgid "" @@ -15659,6 +17491,16 @@ msgid "" "archiving \n" "it." msgstr "" +"Syndie es un sistema seguro y anónimo para blogging / publicación de " +"contenido / agregación de contenidos. Le permite crear información, " +"compartirla con otros, y leer los mensajes de las personas en las que " +"está interesado, y todo mientras se toma en consideración sus necesidades" +" de anonimato y seguridad. En vez de construir su propia red de " +"contenidos, Syndie está diseñado para ejecutarse sobre redes ya " +"existentes, sindicando el contenido a través de eepsites, servicios " +"ocultos en Tor, webs de Freenet, webs normales, grupos de usenet, listas " +"de email, RSS, etc. Los datos publicados con Syndie ofrecen autenticación" +" seudo anónima para cualquiera leyendo o enviando datos." #: i2p2www/pages/site/docs/how/tech-intro.html:920 msgid "" @@ -15684,6 +17526,18 @@ msgid "" "encouraged \n" "for reasons previously mentioned." msgstr "" +"I2pTunnel es probablemente la aplicación más versátil y popular de I2P, " +"permitiendo 'proxificar' dentro y fuera de la red I2P. Se puede ver " +"I2PTunnel como cuatro aplicaciones de proxy diferentes - un cliente que " +"recibe conexiones TCP de entrada y las envía a una destinación I2P, un " +"\"cliente http\" (\"eeproxy) que funciona con un proxy HTTP y envía las " +"peticiones a la destinación I2P apropiada (Después de preguntar a un " +"servicio de dominios si es necesario), un \"servidor\" el cual recibe " +"conexiones de entrada de I2P en una destinación y los envía a un " +"host+puerto TCP dado, y un \"servidor http\" el cual aplía el " +"\"servidor\" pasando las solicitudes y respuestas HTTP para permitir un " +"funcionamiento seguro. Hay una aplicación adicional \"socksclient\", pero" +" su uso no se fomenta por razones mencionadas anteriormente." #: i2p2www/pages/site/docs/how/tech-intro.html:934 msgid "" @@ -15713,6 +17567,20 @@ msgid "" "may \n" "be sufficient for some users." msgstr "" +"En sí mismo I2P no es una red creada para outproxy - los problemas de " +"seguridad de una red que envía datos dentro y fuera de esta han hecho que" +" el diseño de I2P se haya centrado en crear una red anónima con capacidad" +" para cubrir las necesidades de los usuarios sin necesitar recursos " +"externos. Aún así la aplicación de \"httpclient\" I2PTunnel ofrece la " +"posibilidad de 'outproxying' - si el nombre de dominio no termina en " +".i2p, elije una destinación aleatoria de una lista de outproxies para el " +"usuario dado y se lo envía. Estas destinaciones son simplemente " +"\"servidores\" I2PTunnels ejecutados por voluntarios que han decidido " +"explícitamente ejecutar outproxies - nadie es un outproxy por defecto, y" +" ejecutar un outproxy no hace que nadie pase automáticamente a través de " +"su ruter. Aunque los outproxys tienen debilidades inherentes, ofrecen un " +"servicio para I2P que tiene un modelo de seguridad que puede ser " +"suficiente para algunos usuarios." #: i2p2www/pages/site/docs/how/tech-intro.html:950 msgid "" @@ -15738,6 +17606,21 @@ msgid "" "\"client\" \n" "proxies to access the \"server\" instances pointing at an NNTP server." msgstr "" +"I2PTunnel es el que permite el funcionamiento de la mayoría de las " +"aplicaciones. Un \"servidor http\" apuntando aun servidor web permite a " +"cualquiera tener su propia web anónima ( o \"eepsite\") - un servidor web" +" se incluye por defecto en I2P para este propósito, pero se puede " +"utilizar cualquier servidor web. Cualquiera puede ejecutar un \"cliente\"" +" apuntando a cualquiera de los servidores IRC, todos ellos ejecutan un " +"\"servidor\" apuntando a su demonio IRCd local y comunicándose entre " +"servidores IRCd a través de sus propios túneles \"cliente\". Los usuarios" +" finales también tienen túneles clientes apuntando a las destinaciones " +"POP3 y SMTP de I2Pmail's ( que realmente " +"sólo son simples instancias \"servidores\" apuntando a servidores POP3 y " +"SMTP), también hay túneles apuntando al servidor CVS de I2P, permitiendo " +"el desarrollo anónimo. Incluso a veces hay gente que ha ejecutado proxies" +" \"clientes\" para acceder instancias de \"servidores\" apuntando a " +"servidores NNTP." #: i2p2www/pages/site/docs/how/tech-intro.html:967 msgid "" @@ -15753,6 +17636,13 @@ msgid "" "for \n" "blocks." msgstr "" +"I2p-bt es un port del cliente principal de BitTorrent en python para " +"usarse como par y tracker sobre I2P. Las peticiones del tracker son " +"enviadas a través del eepproxy a las eepsites especificadas en el archivo" +" torrent, mientras que las respuestas del tracker se refieren a los pares" +" explícitamente por su destinación, permitiendo a i2p-bt abrir una " +"conexión a la librería de streaming para " +"preguntar por los bloques." #: i2p2www/pages/site/docs/how/tech-intro.html:976 msgid "" @@ -15764,6 +17654,10 @@ msgid "" "cannot \n" "be used for identifying peers." msgstr "" +"Ademas de i2p-bt, se ha creado un port de bytemonsoon para I2P, haciendo " +"las modificaciones necesarias para separar las información comprometedora" +" de la aplicación y tomar en consideración el hecho de que las IPs no " +"pueden usarse para identificar los pares." #: i2p2www/pages/site/docs/how/tech-intro.html:984 msgid "" @@ -15771,6 +17665,9 @@ msgid "" "href=\"http://www.klomp.org/mark/\">mjw's Snark client" msgstr "" +"I2Psnark es programado por jrandom y otros, portado desde el cliente Snark de mjw." #: i2p2www/pages/site/docs/how/tech-intro.html:990 msgid "" @@ -15780,6 +17677,9 @@ msgid "" "through \n" "a plain HTML web interface." msgstr "" +"Incluido en la instalación de I2P, I2PSnark ofrece un cliente anónimo de " +"BitTorrent con capacidades para multitorrents, mostrando todas sus " +"funcionaliudades a través de in unterfaz web HTML." #: i2p2www/pages/site/docs/how/tech-intro.html:999 #, python-format @@ -15789,6 +17689,9 @@ msgid "" "href=\"http://%(bob)s/Robert.html\">http://%(bob)s/Robert.html " msgstr "" +"Robert es un cliente Bittorrent escrito en Python. Se aloja en http://%(bob)s/Robert.html " #: i2p2www/pages/site/docs/how/tech-intro.html:1007 #, python-format @@ -15797,6 +17700,9 @@ msgid "" "It is hosted on http://%(pebcache)s/" " " msgstr "" +"PyBit es un cliente Bittorrent escrito en python. Se aloja en http://%(pebcache)s/ " #: i2p2www/pages/site/docs/how/tech-intro.html:1015 msgid "" @@ -15808,12 +17714,18 @@ msgid "" "chatting \n" "system is fully functional." msgstr "" +"I2Phex es un port de Phex, el cliente de para compartir archivos " +"Gnutella, para ser ejecutado en I2P. Aunque se han deshabilitado algunas " +"funciones de Phex, como la integración los los webcaches de GNUtella, los" +" sistemas básicos de compartición y chateo son funcionales." #: 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 "" +"iMule es un port del cliente p2p aMule, que funciona completamente dentro" +" de I2P." #: i2p2www/pages/site/docs/how/tech-intro.html:1033 #, python-format @@ -15850,6 +17762,25 @@ msgid "" "eepsite \n" "%(postman)s." msgstr "" +"I2Pmail es más un servicio que una aplicación - postman ofrece correos " +"internos y externos con servicios POP3 y SMTP a través de instancias de " +"I2PTunnel que acceden a una serie de componentes desarrollados con " +"mastiejaner, permitiendo a la gente usar su cliente de correo favorito " +"para enviar y recibir seudoanónimamente. Ya que la mayoría de los " +"clientes de mail muestran demasiado información identificativa, I2P " +"incluye el cliente susimail basado en web de susi23 construido " +"específicamente para las necesidades de anonimato de I2P. El servicio de " +"I2Pmail/mail.i2p ofrece filtrado transparente de virus así como " +"protección contra ataques DOS con cuotas de hashcash. Además, cada " +"usuario tiene control de su estrategia de lotes antes de enviar a través " +"de los outproxies de mail.i2p, que están separados de los servidores de " +"SMTP y POP3 de mail.i2p - los inproxies y outproxies se comunican con los" +" servidores SMTP y POP3 a través de I2P, con lo cual si se comprometen " +"localizaciones no anónimas no se da acceso a la actividad de las cuentas " +"de correo o las pautas del usuario. En este momento los desarrolladores " +"trabajan en un sistema de correo descentralizado, llamado \"v2mail\". Se " +"puede encontrar más información en %(postman)s." #: i2p2www/pages/site/docs/how/tech-intro.html:1055 msgid "" @@ -15865,6 +17796,14 @@ msgid "" "Furthermore, I2P-Bote offers a remailer function on top of I2P, for " "increased high-latency anonymity." msgstr "" +"I2P-Bote es un aplicación distribuida de correo. No usa el modelo " +"tradicional de enviar un correo a un servidor y obtenerlo de ese " +"servidor. En cambio, usa el sistema distribuido de tablas hash Kademila " +"para almacenar los correos. Un usuario puede enviar el correo al DHT, " +"mientras que otro puede obtener al correo del DHT. Y todos los correos " +"enviados con la red I2P-Bote son automáticamente cifrados de fin a " +"fin.
Además, I2P-Bote ofrece una función de remailer sobre I2P, para " +"el anonimato de alta latencia." #: i2p2www/pages/site/docs/how/tech-intro.html:1065 msgid "" @@ -15875,18 +17814,22 @@ msgid "" "It supports file transfer and has a search for other users, based on " "Seedless." msgstr "" +"I2P-Messenger es un aplicación de comunicación cifrada de fin a fin. Para" +" la comunicación entre 2 usuarios sólo necesitan compartir entre ellos " +"las claves de destino. Soporta transferencia de archivos y búsqueda de " +"otros usuarios, basada en Seedlees." #: i2p2www/pages/site/docs/how/threat-model.html:2 msgid "I2P's Threat Model" -msgstr "" +msgstr "Modelos de riesgo en I2P" #: i2p2www/pages/site/docs/how/threat-model.html:3 msgid "November 2010" -msgstr "" +msgstr "Noviembre 2010" #: i2p2www/pages/site/docs/how/threat-model.html:6 msgid "What do we mean by \"anonymous\"?" -msgstr "" +msgstr "¿Qué quiere decir con \"anónimo\"?" #: i2p2www/pages/site/docs/how/threat-model.html:8 msgid "" @@ -15905,6 +17848,16 @@ msgid "" "those exchanging\n" "data, to those fearful of discovery by powerful organizations or states." msgstr "" +"El nivel de anonimato se puede describir \"como la dificultad para " +"alguien de encontrar información sobre usted que no quiere que sea " +"encontrada\" - quien es usted, su localización, con quien se comunica, o " +"incluso cuándo se comunica. El anonimato \"perfecto\" no es aquí un " +"concepto útil - las aplicaciones no le harán indistinguible de las " +"personas que no utilizan ordenadores o no usan Internet. Aún así " +"intentamos proveer suficiente anonimato pera cumplir las verdaderas " +"necesidades de quien podemos - de aquellos simplemente navegando por " +"webs, o para aquellos que intercambian información, hasta aquellos con " +"miedo de ser descubiertos por organizaciones poderosas o estados." #: i2p2www/pages/site/docs/how/threat-model.html:19 msgid "" @@ -15914,6 +17867,10 @@ msgid "" "attacks\n" "so that you may decide whether it meets your needs." msgstr "" +"La cuestión de si I2P provee suficiente anonimato para usted es una " +"pregunta difícil, pero esperemos que esta página le responda a esa " +"pregunta explorando como I2P opera ante varios atauqes y así puede " +"decidir si se amolda a sus necesidades." #: i2p2www/pages/site/docs/how/threat-model.html:26 msgid "" @@ -15923,10 +17880,14 @@ msgid "" "original\n" "work focused on I2P is needed." msgstr "" +"Damos la bienvenida a más investigaciones y análisis sobre la resistencia" +" de I2P a las amenazas más abajo descritas. Se necesitan revisiones sobre" +" los textos ya existentes (la mayoría sobre Tor) y trabajos originales " +"sobre I2P." #: i2p2www/pages/site/docs/how/threat-model.html:32 msgid "Network Topology Summary" -msgstr "" +msgstr "Sumario de la topología de la red" #: i2p2www/pages/site/docs/how/threat-model.html:33 #, python-format @@ -15936,6 +17897,10 @@ msgid "" " mind when \n" "reviewing related literature:" msgstr "" +"I2P se crea sobre las ideas de muchos otros \n" +"sistemas, pero a la hora de revisar la " +"información hay que tener en cuenta varios puntos:" #: i2p2www/pages/site/docs/how/threat-model.html:39 msgid "" @@ -15947,6 +17912,10 @@ msgid "" "(the\n" "inbound tunnel)." msgstr "" +"I2P es una mixnet de rutas libres - el creador del mensaje define " +"explícitamente el camino que seguirán los mensajes enviados (el túnel de " +"salida), y el receptor del mensaje define explícitamente el camino por el" +" cual serán recibidos los mensajes (el túnel de entrada)." #: i2p2www/pages/site/docs/how/threat-model.html:45 msgid "" @@ -15955,6 +17924,10 @@ msgid "" "mix, and there are no network layer in- or out-proxies (however, at the \n" "application layer, a few proxies do exist)" msgstr "" +"I2P no tiene puntos de entrada y salida oficiales - todos los " +"pares participan completamente en la mezcla, y no hay proxies de entrada " +"o salida en la capa de red (aún así existen varios proxies de salida en " +"la capa de aplicación)" #: i2p2www/pages/site/docs/how/threat-model.html:50 msgid "" @@ -15970,6 +17943,13 @@ msgid "" "one's\n" "anonymity)." msgstr "" +"I2P es totalmente distribuido - no existen centros de control o " +"autoridades. Cualquiera pude modificar algunos ruters para operar " +"cascadas de mezcla (construyendo túneles y dando las claves necesarias " +"para controlar el envío al final del túnel) o controlar los perfiles de " +"los directorios, todo esto sin romper la compatibilidad con el resto de " +"la red, pero por supuesto no es necesario hacer nada de esto (y además " +"podría poner en peligro su anonimato)." #: i2p2www/pages/site/docs/how/threat-model.html:60 #, python-format @@ -15989,6 +17969,16 @@ msgid "" "It is not clear at this time whether we will actually implement these " "delay features." msgstr "" +"Tenemos planes documentados para implementar retardos no triviales y estrategias de procesados por lote cuya " +"estrategia es sólo conocida por un salto en particular o por las puerta " +"de salida del túnel que recibe el mensaje, permitiendo una red de baja " +"latencia para proveer tráfico de cobertura para las comunicaciones de " +"mayor latencia (por ejemplo correos). Aún así somos conscientes de que " +"son necesarios retardos importantes para proveer una protección útil, y " +"la implementación de esos retardos será un gran desafío. No está claro " +"aún si implementaremos estas características de retardo." #: i2p2www/pages/site/docs/how/threat-model.html:71 msgid "" @@ -15997,10 +17987,13 @@ msgid "" "though\n" "the current implementation does not." msgstr "" +"En teoría, los ruters a lo largo del camino pueden inyectar un número " +"arbitrario de saltos antes de enviar el mensaje al siguiente par, pero la" +" implementación actual no lo hace." #: i2p2www/pages/site/docs/how/threat-model.html:78 msgid "The Threat Model (Attacks)" -msgstr "" +msgstr "El modelo de reisgos (Ataques)" #: i2p2www/pages/site/docs/how/threat-model.html:79 msgid "" @@ -16013,6 +18006,13 @@ msgid "" "I2P uses several onion routing techniques, so we continue to benefit\n" "from the significant academic interest in Tor." msgstr "" +"El diseño de I2P empezó en 2003, no mucho más tarde de la llegada de [Onion Routing], [Freenet], y [Tor]. Nuestro diseño se " +"beneficia notablemente de los estudios publicados en esa época. I2p usa " +"varias técnicas de de enrutado onion, con lo cual nos seguimos " +"beneficiando del interés académico en Tor." #: i2p2www/pages/site/docs/how/threat-model.html:89 msgid "" @@ -16026,6 +18026,14 @@ msgid "" "of attacks as well as many of I2Ps defenses. We update\n" "this list to include new attacks as they are identified." msgstr "" +"Teniendo en cuenta los ataques y análisis en la literatura sobre el " +"anonimato (en gran parte Traffic Analysis: " +"Protocols, Attacks, Design ⏎\n" +"Issues and Open Problems), a continuación describimos brevemente un " +"gran variedad de ataques así como las defensas en i2P.Actualizaremos esta" +" lista según sean identificados nuevos ataques." #: i2p2www/pages/site/docs/how/threat-model.html:98 msgid "" @@ -16033,6 +18041,9 @@ msgid "" "We do not have good answers for all these attacks, however\n" "we continue to do research and improve our defenses." msgstr "" +"Se incluyen algunos ataques que pueden ser solamente para I2P. No tenemos" +" soluciones perfectas para esos ataques, pero continuamos estudiando como" +" defendernos de ellos." #: i2p2www/pages/site/docs/how/threat-model.html:104 msgid "" @@ -16044,6 +18055,12 @@ msgid "" "As we continue to spread the word and grow the network,\n" "these attacks will become much harder." msgstr "" +"Además, muchos de esos ataques son significativamente más fáciles de lo " +"que deberían ser debido al pequeño tamaño actual de la red. Aunque somos " +"conscientes de algunas limitaciones que deben ser reparadas, I2P está " +"diseñado para soportar cientos de miles, o millones de pares. Según " +"vayamos difundiendo la palabra y la red crezca, esos ataques serán mucho " +"mas difíciles de llevar acabo." #: i2p2www/pages/site/docs/how/threat-model.html:114 #, python-format @@ -16054,93 +18071,96 @@ msgid "" "be helpful\n" "to review." msgstr "" +"Vale la pena re leer las páginas comparación " +"entre redes y \"terminología garlic" +" sobre el tema." #: i2p2www/pages/site/docs/how/threat-model.html:123 #: i2p2www/pages/site/docs/how/threat-model.html:143 msgid "Brute force attacks" -msgstr "" +msgstr "Ataques de fuerza bruta" #: i2p2www/pages/site/docs/how/threat-model.html:124 #: i2p2www/pages/site/docs/how/threat-model.html:185 msgid "Timing attacks" -msgstr "" +msgstr "Ataques de fecha" #: i2p2www/pages/site/docs/how/threat-model.html:125 #: i2p2www/pages/site/docs/how/threat-model.html:220 msgid "Intersection attacks" -msgstr "" +msgstr "Ataques por intersección" #: i2p2www/pages/site/docs/how/threat-model.html:126 #: i2p2www/pages/site/docs/how/threat-model.html:298 msgid "Denial of service attacks" -msgstr "" +msgstr "Ataques de denegación de servicio" #: i2p2www/pages/site/docs/how/threat-model.html:127 #: i2p2www/pages/site/docs/how/threat-model.html:385 msgid "Tagging attacks" -msgstr "" +msgstr "Ataques de etiquetas" #: i2p2www/pages/site/docs/how/threat-model.html:128 #: i2p2www/pages/site/docs/how/threat-model.html:400 msgid "Partitioning attacks" -msgstr "" +msgstr "Ataques de particiones" #: i2p2www/pages/site/docs/how/threat-model.html:129 #: i2p2www/pages/site/docs/how/threat-model.html:438 msgid "Predecessor attacks" -msgstr "" +msgstr "Ataques del predecesor" #: i2p2www/pages/site/docs/how/threat-model.html:130 #: i2p2www/pages/site/docs/how/threat-model.html:481 msgid "Harvesting attacks" -msgstr "" +msgstr "Ataques de cosechado" #: i2p2www/pages/site/docs/how/threat-model.html:131 #: i2p2www/pages/site/docs/how/threat-model.html:525 msgid "Identification Through Traffic Analysis" -msgstr "" +msgstr "Identificación a través de análisis del tráfico" #: i2p2www/pages/site/docs/how/threat-model.html:132 #: i2p2www/pages/site/docs/how/threat-model.html:582 msgid "Sybil attacks" -msgstr "" +msgstr "Ataques Sybil" #: i2p2www/pages/site/docs/how/threat-model.html:133 #: i2p2www/pages/site/docs/how/threat-model.html:629 msgid "Buddy Exhaustion attacks" -msgstr "" +msgstr "Ataques por agotamiento de amigos" #: i2p2www/pages/site/docs/how/threat-model.html:134 #: i2p2www/pages/site/docs/how/threat-model.html:651 msgid "Cryptographic attacks" -msgstr "" +msgstr "Ataques de cifrados" #: i2p2www/pages/site/docs/how/threat-model.html:135 msgid "Floodfill attacks" -msgstr "" +msgstr "Ataques " #: i2p2www/pages/site/docs/how/threat-model.html:136 #: i2p2www/pages/site/docs/how/threat-model.html:707 msgid "Other Network Database attacks" -msgstr "" +msgstr "Otros ataques a la base de datos de la red" #: i2p2www/pages/site/docs/how/threat-model.html:137 msgid "Attacks on centralized resources" -msgstr "" +msgstr "Ataques a recursos centralizados" #: i2p2www/pages/site/docs/how/threat-model.html:138 #: i2p2www/pages/site/docs/how/threat-model.html:770 msgid "Development attacks" -msgstr "" +msgstr "Ataques de desarrollo" #: i2p2www/pages/site/docs/how/threat-model.html:139 msgid "Implementation attacks" -msgstr "" +msgstr "Ataques de implementación" #: i2p2www/pages/site/docs/how/threat-model.html:140 #: i2p2www/pages/site/docs/how/threat-model.html:849 msgid "Other Defenses" -msgstr "" +msgstr "Otras defensas" #: i2p2www/pages/site/docs/how/threat-model.html:145 msgid "" @@ -16162,6 +18182,16 @@ msgid "" "2048 byte\n" "message)." msgstr "" +"Un ataque por fuerza bruta puede ser montado por adversarios pasivos o " +"activos, observando todos los mensajes que pasan entre todos los nodos e " +"intentarlo averiguar que mensaje sigue qué camino. Montar este ataque " +"sobre I2P no debería ser trivial, ya que todos los pares en la red envían" +" mensajes frecuentemente (de fin a fin y mensajes de mantenimiento de la " +"red), además un mensaje de fin a fin cambia su tamaño y datos a lo largo " +"de su camino. Además, un adversario externo tampoco tiene acceso al " +"mensaje, ya que la comunicación interna entre ruters está cifrada y es " +"enviada (haciendo que un mensaje de 1024 bytes sea indistinguible de un " +"mensaje de 2048 bytes)" #: i2p2www/pages/site/docs/how/threat-model.html:157 msgid "" @@ -16189,6 +18219,19 @@ msgid "" "are\n" "not currently implemented." msgstr "" +"Aún así, un atacante poderoso podría usar la fuerza bruta para detectar " +"tendencias - si puede enviar 5GB a una destinación I2P y monitorizar las " +"conexiones de red de todos, podría eliminar a todos los pares que no " +"recibieron los 5Gb de datos. Existen técnicas para evitar este ataque, " +"pero pueden ser prohibitivamente caras (vea Tarzan). A" +" la mayoría de los usuarios no les debería preocupar este ataque, ya que " +"el coste de montarlo es enorme (y normalmente ilegal). Aún así, el ataque" +" es plausible, por ejemplo, para un observador en un ISP o en un punto de" +" cambio de Internet. Los que deseen protegerse de este ataque deben tomar" +" las medidas necesarias, como poner límites bajos al ancho de banda, y " +"usar leasesets cifrados o no publicados para las eepsites. Otras medidas," +" como retardos no triviales y rutas restringidas no se han implementado." #: i2p2www/pages/site/docs/how/threat-model.html:174 #, python-format @@ -16202,6 +18245,12 @@ msgid "" "are discussed on the\n" "peer selection page." msgstr "" +"Como una defensa parcial contra un ruter o varios tratando de enrutar " +"todo el tráfico de la red, los ruters contienen límites como el número de" +" túneles que puede pasar por un único ruter. Según crezca la red, estos " +"límites serán ajustados. Otros mecanismos como la clasificación, " +"selección y anulación de los ruters son discutidos en la página de selección de ruters." #: i2p2www/pages/site/docs/how/threat-model.html:187 msgid "" @@ -16218,6 +18267,14 @@ msgid "" "being too \n" "slow to have passed the message along." msgstr "" +"Los mensajes de I2P son unidireccionales, y no implican necesariamente " +"que se enviará una respuesta. Aún así, las aplicaciones sobre I2P tienen " +"patrones reconocibles dentro de las frecuencias de sus mensajes - por " +"ejemplo, una petición HTTP tendrá un pequeño mensaje con una secuencia " +"larga de mensajes de respuesta conteniendo las respuestas HTTP. " +"Utilizando esta información y teniendo una vista general de la topología " +"de la red, un atacante podría inhabilitar algunos enlaces como mensajes " +"demasiado lentos como para ser pasados." #: i2p2www/pages/site/docs/how/threat-model.html:197 msgid "" @@ -16236,6 +18293,15 @@ msgid "" "message mode of guaranteed delivery (with the " "DataMessage+DeliveryStatusMessage)." msgstr "" +"Este tipo de taques es poderoso, pero su aplicación a I2P no es obvia. " +"Debido a la variación de los retardos de los mensajes en las colas, " +"procesamiento de los mensajes y estrechamientos, a menudo excederán el " +"tiempo para pasar un mensaje a través de un enlace - incluso cuando un " +"atacante sabe que una respuesta será enviada tan pronto como el mensaje " +"llegue. Aunque hay varios escenarios en los cuales se exponen respuestas " +"casi automáticas - la librería de streaming lo hace (con el SYN+ACK) al " +"igual que que el modo de mensaje de la garantía del envío ( con el " +"DataMessage+DeliveryStatusMessage)." #: i2p2www/pages/site/docs/how/threat-model.html:207 #, python-format @@ -16252,6 +18318,14 @@ msgid "" "href=\"%(todo)s#batching\">techniques,\n" "but these are unimplemented in I2P." msgstr "" +"Sin la depuración del protocolo y unas mayores latencias, adversarios " +"globales pueden obtener bastante información. Por eso, la gente " +"preocupada por estos ataques puede aumentar la latencia (usando retardos no triviales o\n" +"estrategias de procesado por lotes), " +"incluyendo la depuración del protocolo, o las técnicas de enrutado avanzado de túneles, " +"pero estas no están implementadas en I2P." #: i2p2www/pages/site/docs/how/threat-model.html:216 #, python-format @@ -16259,6 +18333,8 @@ msgid "" "References: Low-Resource Routing Attacks Against " "Anonymous Systems" msgstr "" +"Referencias: Low-Resource Routing Attacks Against " +"Anonymous Systems" #: i2p2www/pages/site/docs/how/threat-model.html:222 msgid "" @@ -16275,6 +18351,13 @@ msgid "" "some\n" "scenarios." msgstr "" +"Los ataques de intersección contra los sistemas de baja latencia son " +"realmente poderosos - contactando con el objetivo periódicamente y " +"llevando el registro de los pares que hay en la red. Con el tiempo, y con" +" el movimiento, el atacante obtendrá bastante información sobre el " +"objetivo simplemente observando los pares que hay online cuando un " +"mensaje pasa a través. El costo de este ataque aumenta según aumenta el " +"tamaño de la red, pero puede ser válido en varios escenarios." #: i2p2www/pages/site/docs/how/threat-model.html:232 #, python-format @@ -16286,15 +18369,20 @@ msgid "" "This is an inherent weakness of low-latency onion routing.\n" "Tor provides a similar disclaimer." msgstr "" +"En resumen, si un atacante está al inicio y al final de tu túnel al mismo" +" tiempo podría tener éxito. I2P no tiene defensa contra este ataque en " +"una comunicación de baja latencia. Esto es una debilidad inherente del " +"enrutado onion de baja latencia. Tor proporciona una aclaración similar." #: i2p2www/pages/site/docs/how/threat-model.html:240 msgid "Partial defenses implemented in I2P:" -msgstr "" +msgstr "Defensa parcialmente implementada en I2P:" #: i2p2www/pages/site/docs/how/threat-model.html:244 #, python-format msgid "strict ordering of peers" -msgstr "" +msgstr "orden estricto de pares" #: i2p2www/pages/site/docs/how/threat-model.html:247 #, python-format @@ -16302,16 +18390,20 @@ msgid "" "peer profiling and selection from a " "small group that changes slowly" msgstr "" +"selección y perfiles de los pares de un" +" pequeño grupo que cambia lentamente" #: i2p2www/pages/site/docs/how/threat-model.html:250 msgid "Limits on the number of tunnels routed through a single peer" -msgstr "" +msgstr "Límite en el número de túneles rutados a través de un solo par" #: 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 "" +"Prevención de pares del mismo rango /16 de IPs por ser miembros del mismo" +" único túnel." #: i2p2www/pages/site/docs/how/threat-model.html:256 msgid "" @@ -16319,6 +18411,9 @@ msgid "" "simultaneous hosting on multiple routers, or\n" "multihoming" msgstr "" +"Para eepsites y servicios alojados, está soportado el alojamiento " +"simultáneo en múltiples ruters, o multihoming" #: i2p2www/pages/site/docs/how/threat-model.html:263 msgid "" @@ -16326,20 +18421,27 @@ msgid "" "Also, we have made some design choices that may significantly increase " "our vulnerability:" msgstr "" +"Incluso usando todas ellas, estas defensas no son una solución completa. " +"Además, hemos hecho algunas elecciones de diseño que podrían incrementar " +"las vulnerabilidades: " #: i2p2www/pages/site/docs/how/threat-model.html:268 msgid "We do not use low-bandwidth \"guard nodes\"" -msgstr "" +msgstr "No utilizamos \"nodos guardianes\" de bajo ancho de banda" #: i2p2www/pages/site/docs/how/threat-model.html:271 msgid "" "We use tunnel pools comprised of several tunnels, and traffic can shift " "from tunnel to tunnel." msgstr "" +"Usamos grupos de túneles compuestos de varios túneles, y el tráfico puede" +" pasar de túnel a túnel." #: i2p2www/pages/site/docs/how/threat-model.html:274 msgid "Tunnels are not long-lived; new tunnels are built every 10 minutes." msgstr "" +"Los túneles no son de larga duración; los túneles se recrean cada 10 " +"minutos." #: i2p2www/pages/site/docs/how/threat-model.html:277 msgid "" @@ -16348,6 +18450,9 @@ msgid "" "applications and\n" "services use 2-hop tunnels by default." msgstr "" +"El tamaño de los túneles es configurable. Aunque se recomienda 3 saltos " +"por túnel para protección total, algunas aplicaciones y servicios usan " +"túneles de 2 saltos por defecto." #: i2p2www/pages/site/docs/how/threat-model.html:284 #, python-format @@ -16363,11 +18468,19 @@ msgid "" "worry,\n" "as an adversary can't \"ping\" them to mount the attack.

" msgstr "" +"En el futuro, esto podría ocurrir para los cares que puedan permitirse " +"retardos significativos (por retardos no " +"triviales y estrategias de " +"batching). Además, esto sólo es relevante para las destinaciones que " +"pueden ser conocidas por otra gente - un grupo privado cuya destinación " +"es sólo conocida por pares de confianza no tiene de que preocuparse, ya " +"que un adversario no puede contactarles,\"ping\" them, para montar el " +"ataque." #: i2p2www/pages/site/docs/how/threat-model.html:293 #, python-format msgid "Reference: One Cell Enough" -msgstr "" +msgstr "Referencia: One Cell Enough" #: i2p2www/pages/site/docs/how/threat-model.html:300 msgid "" @@ -16375,6 +18488,8 @@ msgid "" "I2P,\n" "each with different costs and consequences:" msgstr "" +"Hay un montón de ataques de denegación de servicio disponibles contra " +"I2P, cada cual con sus costes y consecuencias:" #: i2p2www/pages/site/docs/how/threat-model.html:305 msgid "" @@ -16382,6 +18497,9 @@ msgid "" "people trying to consume significantly more resources than they are \n" "willing to contribute. The defense against this is:" msgstr "" +"Ataque del usuario codiciose: Esto es simplemente gente intentando" +" consumir muchas más recursos de los que están dispuestos a compartir. La" +" defensa contra este ataque es:" #: i2p2www/pages/site/docs/how/threat-model.html:311 #, python-format @@ -16391,6 +18509,10 @@ msgid "" "other networks,\n" "over 95%% of I2P users relay traffic for others." msgstr "" +"Configurar por defecto para que la mayoría de los usuarios compartan " +"recursos con la red. En I2P los usuarios rutean tráfico por defecto. A " +"diferencia de otras redes, más del 95%% " +"de los usuarios de I2P reenvían tráfico de otros usuarios." #: i2p2www/pages/site/docs/how/threat-model.html:317 msgid "" @@ -16399,7 +18521,7 @@ msgid "" "understand\n" "metrics such as \"share ratio\" so that users may see what they are " "contributing." -msgstr "" +msgstr "Proveer" #: i2p2www/pages/site/docs/how/threat-model.html:322 msgid "" @@ -17026,11 +19148,11 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/how/threat-model.html:748 -#, fuzzy, python-format +#, python-format msgid "" "The code is now stored in a distributed source " "control system." -msgstr "El código actual está disponible en monotone." +msgstr "" #: i2p2www/pages/site/docs/how/threat-model.html:751 msgid "" @@ -18224,7 +20346,7 @@ msgstr "" #: i2p2www/pages/site/docs/protocol/i2cp.html:606 #: i2p2www/pages/site/get-involved/index.html:38 msgid "Content" -msgstr "" +msgstr "Contenido" #: i2p2www/pages/site/docs/protocol/i2cp.html:611 msgid "Gzip header" @@ -20180,9 +22302,8 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/transport/ntcp.html:76 -#, fuzzy msgid "Checksums" -msgstr "Sumas de comprobación SHA256:" +msgstr "" #: i2p2www/pages/site/docs/transport/ntcp.html:77 #, python-format @@ -22289,7 +24410,7 @@ msgstr "" #: i2p2www/pages/site/get-involved/index.html:4 msgid "We need your help!" -msgstr "" +msgstr "¡Necesitamos tu ayuda!" #: i2p2www/pages/site/get-involved/index.html:5 msgid "" @@ -22297,6 +24418,9 @@ msgid "" "irc.freenode.net, or within I2P on irc.freshcoffee.i2p or " "irc.postman.i2p)." msgstr "" +"Para unirse al proyecto, por favor únase a nosotros en el canal #i2p del " +"IRC (en irc.freenode.net, o dentro de I2P en irc.freshcoffee.i2p o " +"irc.postman.i2p)." #: i2p2www/pages/site/get-involved/index.html:9 #, python-format @@ -22305,6 +24429,9 @@ msgid "" " get in\n" "touch as we're always looking for eager contributors!" msgstr "" +"¡Si está interesado en unirse a nuestro equipo, " +"por favor póngase en contacto con nosotros, ya que siempre estamos " +"buscando ayudantes entusiastas!" #: i2p2www/pages/site/get-involved/index.html:13 msgid "" @@ -22312,10 +24439,12 @@ msgid "" "contribute!\n" "Here's a list to help you get started!" msgstr "" +"¡Necesitamos ayuda en muchas áreas, y no necesita saber Java para " +"contribuir! ¡Aquí hay una lista para ayudarle a decidirse!" #: i2p2www/pages/site/get-involved/index.html:18 msgid "Spread the Word!" -msgstr "" +msgstr "¡Extienda la Palabra!" #: i2p2www/pages/site/get-involved/index.html:19 msgid "" @@ -22323,10 +24452,13 @@ msgid "" "Fix up the Wikipedia article about I2P in your language.\n" "Tell your friends." msgstr "" +"Háblele a la gente sobre I2P en foros, blogs y comentarios de artículos." +" Mejore la entrada en la Wikipedia sobre I2P en su idioma. Dígaselo a sus" +" amigos." #: i2p2www/pages/site/get-involved/index.html:24 msgid "Testing" -msgstr "" +msgstr "Pruebas" #: i2p2www/pages/site/get-involved/index.html:25 #, python-format @@ -22335,28 +24467,33 @@ msgid "" "and report results on #i2p or as bugs on Trac." msgstr "" +"Ejecute las últimas versiones en monotone y " +"reporte los resultados en #i2p como errores en el Trac." #: 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 "" +"Ayude a mejorar las partes de la web que están anticuadas o incompletas. " +"Traduzca las páginas a otros idiomas." #: i2p2www/pages/site/get-involved/index.html:34 msgid "Pictures" -msgstr "" +msgstr "Imágenes" #: i2p2www/pages/site/get-involved/index.html:35 msgid "Make some more pictures, fix the old ones on the website" -msgstr "" +msgstr "Cree mas imágenes, mejore las viejas de la web" #: i2p2www/pages/site/get-involved/index.html:39 msgid "Make an eepsite! Add some content! Contribute to the community!" -msgstr "" +msgstr "¡Cree una eepsite! ¡Añádale contenido! ¡Contribuya a la comunidad!" #: i2p2www/pages/site/get-involved/index.html:42 msgid "Services" -msgstr "" +msgstr "Servicios" #: i2p2www/pages/site/get-involved/index.html:43 msgid "" @@ -22364,6 +24501,9 @@ msgid "" "a naming service, a search engine, an eepsite monitor... many of these\n" "aren't that hard." msgstr "" +"Ejecute algún servicio en su eepsite. Puede ser un proxy, un foro, un " +"tracker, un servidor de dominios, una motor de búsquedas, un monitor de " +"eepsites... muchos de estos no son tan difíciles." #: i2p2www/pages/site/get-involved/index.html:49 #, python-format @@ -22371,6 +24511,8 @@ msgid "" "Write or port applications for I2P! There's some guidelines and\n" "a list of ideas on the applications page." msgstr "" +"¡Escriba o porte aplicaciones para I2P! Hay algunas guías y una lista de " +"ideas en la pagina de aplicaciones." #: i2p2www/pages/site/get-involved/index.html:53 msgid "Coding" @@ -22385,10 +24527,15 @@ msgid "" "some ideas on where to start.\n" "See the new developer's guide for details." msgstr "" +"Hay mucho que hacer si sabe Java o está listo para aprender. Busque " +"entradas abiertas en el Trac o " +"en la lista TODO en %(zzz)s para saber " +"donde empezar o ver algunas ideas. Vea la guía de" +" nuevos desarrolladores para mas detalles." #: i2p2www/pages/site/get-involved/index.html:61 msgid "Translation" -msgstr "" +msgstr "Traducciones" #: i2p2www/pages/site/get-involved/index.html:62 #, python-format @@ -22396,10 +24543,13 @@ msgid "" "Help translate the website and the software into your language.\n" "See the new translator's guide for details." msgstr "" +"Ayude a traducir la página web y las aplicaciones a su lenguaje. Vea la " +"guía de nuevos traductores para más " +"información." #: i2p2www/pages/site/get-involved/index.html:66 msgid "Analysis" -msgstr "" +msgstr "Análisis" #: i2p2www/pages/site/get-involved/index.html:67 #, python-format @@ -22410,12 +24560,18 @@ msgid "" "and DOS and other weaknesses due to securities holes,\n" "need researching." msgstr "" +"Estudie o pruebe el código buscando vulnerabilidades. Se necesita " +"estudiar tanto las vulnerabilidades del anonimato de varios modelos de amenazas, como los ataques DOS y " +"otras debilidades debidas a errores en la seguridad." #: 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 "" +"¿Asegurarnos de que I2P en la instalación automáticamente se una a la red" +" y así no haría falta ninguna localización central para esto?" #: i2p2www/pages/site/get-involved/roadmap.html:10 #, python-format @@ -22423,48 +24579,53 @@ msgid "" "Reachability Mapping / handle peers partially reachable / enhanced restricted routes" msgstr "" +"Mapeado de accesibilidad / manejar los pares parcialmente accesibles / " +"mejorar los ruters " +"restringidos" #: i2p2www/pages/site/get-involved/roadmap.html:13 msgid "Improve help pages and website" -msgstr "" +msgstr "Mejorar las páginas de ayuda y la página web." #: i2p2www/pages/site/get-involved/roadmap.html:14 msgid "More translations" -msgstr "" +msgstr "Más traducciones" #: i2p2www/pages/site/get-involved/roadmap.html:15 msgid "SSU disconnect message" -msgstr "" +msgstr "Mensaje de desconexión SSU" #: i2p2www/pages/site/get-involved/roadmap.html:16 msgid "Iterative floodfill lookups" -msgstr "" +msgstr "Búsquedas iterativas en el algoritmo de relleno, \"floodfill\"" #: i2p2www/pages/site/get-involved/roadmap.html:21 msgid "Full review of anonymity issues and other vulnerabilities" -msgstr "" +msgstr "Examen completo de las vulnerabilidades y problemas de anonimato." #: i2p2www/pages/site/get-involved/roadmap.html:22 msgid "" "Reduce memory usage, remove debugging overhead, make it run better on " "slow and embedded machines" msgstr "" +"Reducción del uso de memoria, eliminar el gasto superfluo de la " +"depuración, hacer que corra más ligero en hardware pequeño y lento. " #: i2p2www/pages/site/get-involved/roadmap.html:25 msgid "Docs" -msgstr "" +msgstr "Documentación" #: i2p2www/pages/site/get-involved/roadmap.html:30 msgid "Full restricted routes" -msgstr "" +msgstr "Rutas restringidas" #: i2p2www/pages/site/get-involved/roadmap.html:35 msgid "Tunnel mixing and padding" -msgstr "" +msgstr "Mezclado y relleno de los túneles" #: i2p2www/pages/site/get-involved/roadmap.html:36 msgid "User defined message delays" -msgstr "" +msgstr "Mensajes con el retraso definido por los usuarios" #: i2p2www/pages/site/get-involved/roadmap.html:39 #, python-format @@ -22472,10 +24633,12 @@ msgid "" "Please see the TODO list for more detailed info " "about some of these tasks." msgstr "" +"Por favor, vea la lista TODO , por hacer, para " +"obtener información mas detallada sobre estas tareas." #: i2p2www/pages/site/get-involved/todo.html:4 msgid "I2P Project Targets" -msgstr "" +msgstr "Objetivos del proyecto I2P" #: i2p2www/pages/site/get-involved/todo.html:5 #, python-format @@ -22496,31 +24659,42 @@ msgid "" "help?\n" "Get involved!" msgstr "" +"Más abajo hay una discusión detallada (aunque aún no completa) de las " +"áreas más importantes del futuro desarrollo del núcleo de I2P, que abarca" +" los posibles planes de desarrollo. Esto no incluye transporte oculto, " +"portarlo a dispositivos Wireless o herramientas para asegurar la máquina " +"local, tampoco incluye otras aplicaciones cliente que serían esenciales " +"para el éxito de I2P. Probablemente aparecerán otros temas, especialmente" +" si I2P recibe mas atención, pero estas son ls 'cosas importantes'. Vea " +"también la hoja de ruta. ¿Quiere ayudar? ¡Únete!" #: i2p2www/pages/site/get-involved/todo.html:16 #: i2p2www/pages/site/get-involved/todo.html:54 msgid "Core functionality" -msgstr "" +msgstr "Funcionamiento del núcleo." #: 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 "" +msgstr "Bridging de NAT/cortafuegos a través de ruters restringidos de 1 salto" #: 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 "" +msgstr "Capa de transporte de alto nivel con UDP, NBIO, o NIO" #: 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 "" +"Base de datos de la red, NetworkDB, y ajustes del perfil y política de " +"expulsión para grandes redes. " #: i2p2www/pages/site/get-involved/todo.html:28 #: i2p2www/pages/site/get-involved/todo.html:242 msgid "Security / anonymity" -msgstr "" +msgstr "Seguridad / anonimato" #: i2p2www/pages/site/get-involved/todo.html:30 #: i2p2www/pages/site/get-involved/todo.html:245 @@ -22528,39 +24702,49 @@ msgid "" "Per-hop tunnel id & new permuted TunnelVerificationStructure " "encryption" msgstr "" +"Id por salto de túnel & nuevo cifrado permutado de la estructura de " +"verificación del túnel, TunnelVerificationStructure" #: i2p2www/pages/site/get-involved/todo.html:33 #: i2p2www/pages/site/get-involved/todo.html:295 msgid "Strict ordering of participants within tunnels" -msgstr "" +msgstr "Orden estricto de los participantes dentro de los túneles" #: i2p2www/pages/site/get-involved/todo.html:36 msgid "Randomly permuted tunnel lengths" -msgstr "" +msgstr "Tamaño de los túneles aleatorio." #: 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 "" +"Mejor personalización de los ruters y un mejor control de los ruters " +"usados." #: 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 "" +"Añadir Hashcash a la identidad del ruter, destinación y solicitud de " +"respuesta." #: 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 "" +"Control avanzado del funcionamiento del ruter (procesamiento por " +"lotes/mezclado/control de velocidad)" #: i2p2www/pages/site/get-involved/todo.html:48 #: i2p2www/pages/site/get-involved/todo.html:442 msgid "Stop & go mix w/ garlics & tunnels" msgstr "" +"Configuración avanzada del enrutamiento de los túneles y opciones para " +"crear túneles de usar y tirar para su uso a corto plazo." #: i2p2www/pages/site/get-involved/todo.html:62 msgid "Implemented in I2P 0.6.0.6" -msgstr "" +msgstr "Implementado en I2P 0.6.0.6" #: i2p2www/pages/site/get-involved/todo.html:63 msgid "" @@ -22574,12 +24758,19 @@ msgid "" " \n" "two ways:" msgstr "" +"Esta capacidad permite a los ruters participar totalmente dentro de la " +"red incluso detrás de un NAT o cortafuegos de los que no se tienen " +"control (ya que estos pares no podrán recibir conexiones entrantes). " +"Para hacer esto satisfactoriamente, consideramos a los pares de estas dos" +" formas:" #: i2p2www/pages/site/get-involved/todo.html:73 msgid "" "Peers who have reachable interfaces - these peers do not need to \n" "do anything special" msgstr "" +"Pares que tienen algún dispositivo accesible estos pares no " +"necesitan hacer nada especial" #: i2p2www/pages/site/get-involved/todo.html:77 msgid "" @@ -22591,6 +24782,11 @@ msgid "" " \n" "and who has agreed to serve as their 'introducer'." msgstr "" +"Pares que no tienen dispositivos accesibles - estos pares tienen " +"que construir un túnel hacia ellos mismos en donde la salida es uno de " +"los pares con los que ya ha establecido una conexión y quien tiene un " +"dispositivo accesible públicamente y ha aceptado servir como su " +"'introductor'." #: i2p2www/pages/site/get-involved/todo.html:85 msgid "" @@ -22599,6 +24795,10 @@ msgid "" "within \n" "their RouterInfo structure in the network database." msgstr "" +"Para hacer esto, los pares que no tiene dirección IP simplemente se " +"conectan a varios pares, construye un túnel a través de ellos, y publican" +" una referencia de esos túneles dentro de la estructura RouterInfo en la " +"base de datos dela red." #: i2p2www/pages/site/get-involved/todo.html:90 msgid "" @@ -22613,6 +24813,12 @@ msgid "" "published \n" "tunnels." msgstr "" +"Cuando alguien quiere conectar con algún ruter en particular, el primero " +"debe obtener su RouterInfo de la base de datos de la red, la que le " +"indicará que puede conectarse directamente ( por ejemplo con un par que " +"tiene un dispositivo accesible públicamente) o que necesita conectar " +"indirectamente. La conexiones directas se hacen directamente, pero las " +"indirectas se hacen a través de los túneles publicados. " #: i2p2www/pages/site/get-involved/todo.html:98 msgid "" @@ -22632,6 +24838,14 @@ msgid "" "direct \n" "connection." msgstr "" +"Cuando un ruter simplemente quiere enviar un mensaje a un par oculto " +"puede usar el túnel indirecto para enviar la información. Sin embargo, si" +" el ruter quiere hablar con el par oculto a menudo (por ejemplo, como " +"parte de un túnel), enviará un mensaje enrutado a través del túnel " +"indirecto del par oculto. Entonces este par oculto establece una conexión" +" de salida hacia el ruter original y a partir de entonces estos dos " +"ruters puede hablar entre ellos directamente sobre la nueva conexión " +"directa. " #: i2p2www/pages/site/get-involved/todo.html:109 msgid "" @@ -22643,6 +24857,10 @@ msgid "" "originating \n" "peer's inbound tunnel." msgstr "" +"Por supuesto esto solo funciona si el par original puede recibir " +"conexiones (y no están también ocultas). Sin embargo, si el par original " +"está oculto, pueden simplemente indicar la mensaje enrutado que vuelva " +"por el túnel de entrada del par original. " #: i2p2www/pages/site/get-involved/todo.html:115 msgid "" @@ -22654,6 +24872,11 @@ msgid "" " \n" "described below." msgstr "" +"Esto no se ha creado para permitir que la IP de un par permanezca oculta," +" simplemente es una forma de permitir a la gente detrás de un NAT o " +"cortafuegos funcionar completamente dentro de la red. Ocultar la IP de un" +" par cuesta un poco más de trabajo, como se describe más abajo." #: i2p2www/pages/site/get-involved/todo.html:121 msgid "" @@ -22665,10 +24888,15 @@ msgid "" " \n" "to be hidden. But that is not technically necessary." msgstr "" +"Con esta técnica cualquier ruter puede participar como una parte de un " +"túnel. Con objeto de mejorar la eficiencia, un par oculto sería una mala " +"elección como puerta de entrada, y dentro de un túnel dado, dos pares " +"vecinos no desearían estar ocultos. Pero esto no es técnicamente " +"necesario." #: i2p2www/pages/site/get-involved/todo.html:133 msgid "Both UDP and NIO have been Implemented in I2P" -msgstr "" +msgstr "Ambos, UDP y NIO ya han sido implementados en I2P" #: i2p2www/pages/site/get-involved/todo.html:134 msgid "" @@ -22685,6 +24913,15 @@ msgid "" "off a per-connection outbound message queue and shoves the data through \n" "write() calls." msgstr "" +"Las comunicaciones estándar TCP en java normalmente necesitan el bloqueo " +"de llamadas al socket, y para evitar que el socket bloqueado pare todo el" +" sistema, estos bloqueos se hacen en sus propios hilos. Nuestro sistema " +"de transporte TCP actual está implementado de una forma sencilla - por " +"cada par con el que hablamos, tenemos un hilo escribiendo y otro leyendo." +" El hilo de lectura simplemente repite un puñado de llamadas read(), " +"creando mensajes I2NP y añadiéndolos a la cola interna de mensajes de " +"entrada, y el hilo de escritura envía mensajes hacia una cola de mensajes" +" de salida y empuja los datos a través de llamadas write()." #: i2p2www/pages/site/get-involved/todo.html:145 msgid "" @@ -22704,12 +24941,24 @@ msgid "" "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 "" +"Desde la perspectiva del uso de CPU esto se hace bastante eficientemente " +"- la mayoría del tiempo la mayoría de estos hilos están dormidos " +"esperando por algo que hacer. Sin embargo, cada uno de estos hilos " +"consume recursos (en kernels viejos de Linux, por ejemplo, cada hilo se " +"implementa como un proceso fork()'ed). Al mismo tiempo que la red crece, " +"el número de pares con el que se comunica un ruter aumentará (recuerde, " +"I2P está totalmente conectado, esto quiere decir que cualquier par debe " +"saber como enviar un mensaje a cualquier otro par). ¡Esto significa que " +"con una red de 100.000 ruters, cada ruter tendrá 199.998 hilos " +"simplemente para tratar con las conexiones TCP!" #: 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 "" +"Obviamente esto no funcionará. Necesitamos una capa de transporte que " +"pueda escalar. En Java tenemos dos posibles soluciones:" #: i2p2www/pages/site/get-involved/todo.html:162 #, python-format @@ -22717,6 +24966,8 @@ msgid "" "Implemented in I2P 0.6 (\"SSU\") as documented elsewhere" msgstr "" +"Implementado en 2P 0.6 (\"SSU\") y documentado en en " +"otra parte" #: i2p2www/pages/site/get-involved/todo.html:165 msgid "" @@ -22728,6 +24979,12 @@ msgid "" "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 "" +"Enviar y recibir datagramas UDP es una operación que no necesita de " +"conexión previa - si estamos comunicándonos con 1000.000 pares, " +"simplemente ponemos los paquetes UDP en una cola y hacemos que un único " +"hilo los envíe fuera de la cola hacia una tubería ( y para recibir, " +"tenemos un único hilo tirando de cualquier paquete UDP recibido y " +"añadiéndolos a una cola de entrada)" #: i2p2www/pages/site/get-involved/todo.html:172 msgid "" @@ -22750,18 +25007,28 @@ msgid "" "particular \n" "needs." msgstr "" +"Sin embargo, usar UDP significa perder los beneficios de usar el orden de" +" TCP, el control de congestión, descubrimiento de MTU, etc. Implementar " +"esto significaría mucho trabajo, sin embargo I2P no necesita ser tan " +"fuerte como TCP. Hace algún tiempo estaba tomando medida en un simulador " +"y en la red real, y la mayoría de los mensajes pueden ser transmitidas " +"dentro de un único paquete UDP no fragmentado, y el más largo de los " +"mensajes entraría dentro de 20-30 paquetes. Como mule indicó, TCP añade " +"bastante gasto cuando tiene que encargarse de muchos paquetes pequeños. " +"Con UDP, se puede optimizar el transporte para la eficiencia y la " +"flexibilidad teniendo en cuenta las necesidades particulares de I2P." #: i2p2www/pages/site/get-involved/todo.html:185 msgid "It will be a lot of work though." -msgstr "" +msgstr "Sería muchísimo trabajo por hacer." #: i2p2www/pages/site/get-involved/todo.html:188 msgid "NIO or NBIO" -msgstr "" +msgstr "NIO o NBIO" #: i2p2www/pages/site/get-involved/todo.html:189 msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")" -msgstr "" +msgstr "NIO fue implementada en la versión 0.6.1.22 de I2P (\"NTCP\")" #: i2p2www/pages/site/get-involved/todo.html:192 msgid "" @@ -22784,6 +25051,20 @@ msgid "" "has been some progress on Classpath's NIO, but it is an unknown " "quantity)" msgstr "" +"En Java 1.4 se introdujo paquetes \"I/O nuevos\", permitiendo a los " +"desarrolladores de java usar las capacidades de los sistemas operativos " +"sin bloquear las entradas y salidas - permitiendo tener un gran número de" +" operaciones I/O concurrentes si necesitar un nuevo hilo para cada una. " +"Hay muchas esperanzas puestas en este método, ya que podemos manejar un " +"gran número de conexiones y no tendríamos que que reescribir un nuevo " +"mini TCP stack con UDP. Sin embargo, los paquetes NIO no han probado aún " +"estar listos, como averiguaron los desarrolladores de Freenet. Además, " +"usar paquetes NIO significaría no poder usar ninguna JVM libre como Kaffe, ya que GNU/Classpath sólo tiene soporte " +"limitado para NIO.(nota: puede que ahora esto ya no sea verdad, ya que" +" se han hecho progreso en los NIO de Classpath, pero no sabemos su " +"calidad)" #: i2p2www/pages/site/get-involved/todo.html:206 #, python-format @@ -22796,6 +25077,13 @@ msgid "" "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 "" +"Otra alternativa del mismo tipo es el paquete sin " +"bloqueos I/O - básicamente es una implementación NIO tipo cleanroom " +"(escrita antes de que NIO existiese). Funciona utilizando algo de código " +"nativo del sistema operativo para hacer I/O sin bloqueos, pasando los " +"eventos a través de Java. Parece que funciona con Kaffe, aunque no parece" +" que haya mucha actividad últimamante en su desarrollo (debido " +"probablemente al desarrollo de NIO 1.4) " #: i2p2www/pages/site/get-involved/todo.html:221 msgid "" @@ -22819,6 +25107,20 @@ msgid "" "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 "" +"Nos hemos tomado la libertad de usar unos atajos prácticos dentro de la " +"base de datos de la red y la implementación de la gestión del perfil. Por" +" ejemplo, no tenemos el código para sacar los perfiles de los pares de " +"K-buckets, al igual que no tenemos suficientes pares para llenar ninguno " +"de ellos, en lugar de eso mantenemos los pares en cualquier cubo que " +"pueda ser apropiado. Otro ejemplo tiene que ver con los perfiles de los " +"pares - la memoria requerida para mantener cada perfil del par es " +"suficientemente pequeña como para poder tener todos los perfiles en la " +"memoria sin problemas (con lo que podemos mantener cientos de miles en la" +" memoria), no tenemos ningún código para lidiar con el problema de mover " +"un perfil de un \"perfil mínimo\" a un \"perfil completo\", de un " +"\"perfil completo\" a un \"perfil mínimo\", o simplemente desechar un " +"perfil completo. Simplemente no sería práctico escribir el código ya que " +"no lo vamos a necesitar por un tiempo." #: i2p2www/pages/site/get-involved/todo.html:236 msgid "" @@ -22826,6 +25128,9 @@ msgid "" "considerations \n" "in mind. We will have some work to do, but we can put it off for later." msgstr "" +"Como ya hemos dicho, según siga creciendo la red volveremos a retomar " +"estas consideraciones. Tendremos algún trabajo por hacer, pero se puede " +"dejar para mas tarde." #: i2p2www/pages/site/get-involved/todo.html:248 #: i2p2www/pages/site/get-involved/todo.html:332 @@ -22834,6 +25139,8 @@ msgid "" "Addressed in I2P 0.5 as documented elsewhere" msgstr "" +"Conseguido en I2P 0.5 como se documenta aquí" #: i2p2www/pages/site/get-involved/todo.html:251 msgid "" @@ -22848,6 +25155,15 @@ msgid "" "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 "" +"Ahora mismo si Alicia crea un túnel de entrada de cuatro saltos empezando" +" en Elvis, yendo a través de Dave, después Charlie, después Bob y " +"finalmente Alice (A<--B<--C<--D<--E), los cinco sabrán que " +"están participando en el túnel \"123\", ya que el mensaje está etiquetado" +" así. Lo que queremos hacer es dar a cada salto su propio ID de túnel - " +"Charlie recibirá el mensaje en el túnel 234 y lo enviará al túnel 876 de " +"Bob. Se intenta prevenir que Bob o Charlie sepan que están en el túnel de" +" Alice, lo que ocurriría si en cada salto tuviesen el mismo ID de túnel " +"haciendo que un ataque por colisión fuese más fácil." #: i2p2www/pages/site/get-involved/todo.html:261 msgid "" @@ -22878,6 +25194,26 @@ msgid "" "and verifying the payload by checking it against the associated signed \n" "hash." msgstr "" +"Añadir un Id único por cada salto no es difícil, pero sí insuficiente. Si" +" Dave y Bob están bajo el control del mismo atacante no sería posible " +"saber que están en el mismo túnel a causa del Id, pero podría se capaz de" +" saber sobre el cuerpo del mensaje y las estructuras de verificación con " +"solo compararlos. Para prevenir esto el túnel debe usar una capa de " +"cifrado a lo largo del camino, en el payload tunelado y en la " +"verificación de la estructura (usado para evitar ataques simples de " +"etiquetado). Esto requiere algunos cambios simples en el TunnelMessage, y" +" además, requiere del envío de claves secretas por cada salto durante la " +"creación del túnel, y además hacer llegar estas claves a la salida del " +"túnel. Tenemos que que crear un valor máximo del tamaño del túnel (por " +"ejemplo 16), e instruir a la puerta de salida para que cifre el mensaje " +"de cada una de las claves secretas enviadas, en orden inverso, y de que " +"cifre la firma del hash del payload (cifrado) en cada salto. La puerta de" +" salida envía entonces el mensaje cifrado de 16 pasos, junto con los 16 " +"pasos y el mapeado cifrado de 16 de ancho al primer salto, el cual " +"entonces descifra el mapeado y el payload con su clave secreta, buscando" +" en el mapeado de 16 de ancho por la entrada asociada con su propio salto" +" (cifrado por el Id del túnel de cada salto) y verificando el pyload " +"chequeándolo con el hash firmado asociado." #: i2p2www/pages/site/get-involved/todo.html:282 msgid "" @@ -22894,10 +25230,18 @@ msgid "" "got it from). However, the above two techniques significantly increase \n" "the cost of gaining meaningful samples when dealing with longer tunnels." msgstr "" +"La salida del túnel todavía tiene más información que los otros pares del" +" túnel, y comprometiendo la salida y un participante en el túnel " +"permitiría a estos confabularse mostrando el hecho de que los dos " +"pertenecen al mismo túnel. Además, los pares vecinos saben que están en " +"el mismo túnel, ya que saben a quien envían el mensaje (y con transportes" +" basados en IP con rutas restrictivas saben de donde lo reciben). Sin " +"embargo, estas dos técnicas incrementan significativamente el coste de " +"conseguir ejemplos con significado cuando se trata de túneles largos." #: i2p2www/pages/site/get-involved/todo.html:298 msgid "Implemented in release 0.6.2" -msgstr "" +msgstr "Implementado en la versión 0.6.2" #: i2p2www/pages/site/get-involved/todo.html:301 #, python-format @@ -22916,6 +25260,18 @@ msgid "" " \n" "in any tunnels until they are back online." msgstr "" +"Como propuso Connelly para tratar el ataque del predecesor(2008), manteniendo consistente el orden de los " +"pares dentro de nuestros túneles (osea cuando Alice crea un túnel con Bob" +" y Charlei en él, el siguiente salto de Bob es siempre Charlie), " +"solucionamos el problema, ya que Bob no puede obtener una muestra del " +"grupo de pares de Alice lo suficientemente grande. Incluso podríamos " +"querer permitir explícitamente a Bob participar en el túnel de Alice en " +"una dirección - recibiendo un mensaje de Dave y enviándolo a Charlie - y " +"si unos de estos pares no están disponible para participar en el túnel " +"(debido a saturación, desconexión de red, erc), evitar preguntar a Bob si" +" participa en algún túnel hasta que vuelva a estar disponible." #: i2p2www/pages/site/get-involved/todo.html:316 msgid "" @@ -22923,6 +25279,9 @@ msgid "" "moment, we simply select and order randomly within the peer's top tier \n" "of peers (ones with fast + high capacity)." msgstr "" +"Aún hace falta un análisis más detallado de la creación del túnel - hasta" +" el momento, simplemente seleccionamos y ordenamos aleatoriamente de " +"entre uno de los mejores pares del par (uno rápido y con gran capacidad)" #: i2p2www/pages/site/get-involved/todo.html:321 msgid "" @@ -22935,6 +25294,13 @@ msgid "" "the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n" "duration) minutes, use a 1-hop tunnel)." msgstr "" +"Añadiendo un orden estricto a los pares de un túnel también mejoramos el " +"anonimato de los pares con túneles de 0 saltos, ya que de otra forma el " +"hecho de que la salida del par fuese siempre la misma sería bastante " +"dañino. Sin embargo, los pares con túneles de 0 saltos necesitarán usar " +"periódicamente un túnel de 1 salto para simular el fallo de un par de " +"salida normal (así cada MTBF*(duración del túnel) minutos, usaría un " +"túnel de 1 salto)" #: i2p2www/pages/site/get-involved/todo.html:338 msgid "" @@ -22957,6 +25323,17 @@ msgid "" " \n" "would mean what IP address the destination is on)." msgstr "" +"Sin los cambios de tamaño de los túneles, si alguien de alguna forma " +"detectase que una destinación tiene un número determinado de saltos, " +"sería capaz de usar esa información para identificar la localización de " +"la destinación de ruter usando el ataque del predecesor. Por ejemplo, si" +" todo el mundo tiene túneles de 2 saltos, si Bob recibe un mensaje de " +"Charlie y lo envía a Alice, Bob sabría que que Alice es el ruter final " +"del túnel. Si Bob quisiese identificar la destinación que ese túnel " +"sirvió (confabulándose con el nodo de salida y buscando en la base de " +"datos de la red a todos los LeaseSets), conocería el ruter que está en " +"esa destinación ( y sin rutas restringidas, eso quiere decir que " +"sabríamos la IP de la destinación)" #: i2p2www/pages/site/get-involved/todo.html:350 msgid "" @@ -22964,6 +25341,10 @@ msgid "" "using algorithms based on the length requested (for example, the 1/MTBF \n" "length change for 0-hop tunnels outlined above)." msgstr "" +"El tamaño de los túneles debe ser cambiante para contrarrestar el " +"comportamiento de los usuarios, usando algoritmos basados en el tamaño " +"requerido (por ejemplo, el cambio de tamaño a 1/MTBF de los túneles de 0 " +"saltos)" #: i2p2www/pages/site/get-involved/todo.html:360 msgid "" @@ -22986,6 +25367,16 @@ msgid "" "instructions \n" "to forward it as requested." msgstr "" +"La funcionalidad restringida del ruter descrita antes era simplemente un " +"problema funcional - como hacer que dos pares que de otra forma no " +"estrían comunicados se comuniquen. Sin embargo, el concepto de permitir " +"ruters restringidos incluye capacidades adicionales. Por ejemplo, si un " +"ruter no puede arriesgarse de ninguna forma a una comunicación directa " +"con un par sin confianza, pueden configurar enlaces seguros a través de " +"esos pares, usándolos para enviar y recibir todos sus mensajes. Esos " +"pares ocultos que desean estar totalmente aislados pueden también negarse" +" a conectar con pares que intenten alcanzarles (como se demuestra en la " +"técnica de ruteado 'garlic' esbozada anteriormente)" #: i2p2www/pages/site/get-involved/todo.html:379 #, python-format @@ -23000,6 +25391,13 @@ msgid "" "doing so would compromise the anonymity of the system. Instead, we want \n" "to make certain requests \"expensive\"." msgstr "" +"Dentro de la red necesitaremos una forma de disuadir al a gente de " +"consumir demasiados recursos o de crear demasiados pares como para montar" +" un ataque Sybil. Las técnicas tradicionales " +"como dejar que un par vea quien solicita un recurso o quien ejecuta " +"cierto par, no son apropiadas para I2P, ya que eso comprometería el " +"anonimato del sistema. En su lugar queremos hacer que ciertas peticiones " +"sean muy \"caras\"." #: i2p2www/pages/site/get-involved/todo.html:387 msgid "" @@ -23018,6 +25416,16 @@ msgid "" "that is sufficiently expensive while not an excessive burden for people \n" "with few resources." msgstr "" +"Hashcash es una técnica que " +"podemos usar anónimamente para incrementar el \"costo\" de hacer ciertas " +"acciones., como crear una nueva identidad de ruter (se hace sólo cuando " +"se instala por primera vez), crear una nueva destinación (se hace sólo " +"cuando se crea un nuevo servicio), o solicitar que un par participe en un" +" túnel (se hace a menudo, quizás 2-300 veces a la hora). No conocemos " +"todavía el coste \"correcto\" de cada tipo de certificado, pero con algo " +"de investigación y estudio, podemos crear un nivel básico que sea lo " +"suficientemente caro pero no tan caro como para que agobie a la gente con" +" pocos recursos." #: i2p2www/pages/site/get-involved/todo.html:398 msgid "" @@ -23026,6 +25434,9 @@ msgid "" " \n" "appropriate." msgstr "" +"Hay varios algoritmos que podemos explorar para hacer que esas peticiones" +" de recursos \"tengan un costo\", sería conveniente seguir investigando " +"sobre este tema." #: i2p2www/pages/site/get-involved/todo.html:408 #, python-format @@ -23047,6 +25458,17 @@ msgid "" " \n" "tunnel mixing strategies." msgstr "" +"El rutado estándar de túneles es vulnerable al análisis de tráfico para " +"los observadores externos pasivos con muchos medios y para un gran número" +" de observadores internos si están confabulados, simplemente observando " +"el tamaño y la frecuencia de los mensajes que pasan a través de los " +"ruters. Para defendernos de esto, queremos simplemente convertir algunos" +" túneles en su propia mezcla de cascada - retrasando los mensajes " +"recibidos en la puerta de salida y pasándolos en lotes, reordenándolas " +"como sea necesario, e inyectando mensajes de relleno (indistinguibles de " +"los túneles \"reales\" para los pares). Ha habido un gran número de estudios sobre estos algoritmos que podríamos " +"utilizar para implementar varias estrategias de mezclado de túneles." #: i2p2www/pages/site/get-involved/todo.html:421 msgid "" @@ -23065,6 +25487,17 @@ msgid "" "tunnels, refusing to agree to allocate more bandwidth than the peer has \n" "available." msgstr "" +"Además de los aspectos del anonimato en las operaciones de los túneles, " +"hay una dimensión funcional extra. Cada par sólo tiene cierto número de " +"datos que pueden rutar por la red, y para evitar que un túnel en " +"particular consuma una gran parte del ancho de banda, necesitarán añadir " +"algunas regulaciones en el túnel. Por ejemplo, un túnel puede estar " +"configurado para pararse a sí mismo después de pasar 600 mensajes (1 par " +"por segundo), 2.4MB (4KBps), o tras haber excedido algún promedio " +"variable (8KBps en el último minuto). Los mensajes sobrantes pueden ser " +"retardados o desechados. Con este tipo de control, los pares pueden " +"ofrecer un soporte parecido al QoS en sus túneles, negándose a asignar " +"más ancho de banda de la que el par tiene disponible." #: i2p2www/pages/site/get-involved/todo.html:434 msgid "" @@ -23075,6 +25508,11 @@ msgid "" "tunnel \n" "with instructions to redefine the next-hop in the tunnel." msgstr "" +"Además, queremos implementar el código para re-rutar los túneles " +"dinámicamente, y así evitar que los pares fallidos añadan saltos " +"adicionales en el camino. Esto lo puede hacer la red garlic rutando un " +"mensaje a un par en particular con las instrucciones para redefinir el " +"siguiente salto del túnel." #: i2p2www/pages/site/get-involved/todo.html:445 msgid "" @@ -23090,6 +25528,13 @@ msgid "" " \n" "clove exposed includes delay instructions." msgstr "" +"Además de las estrategias de mezclado y de procesado por lotes de cada " +"túnel, hay más formas de protegernos contra atacantes poderosos, como " +"permitir crear un retraso en cada paso dentro de un camino de rutado " +"garlic. Esto crearía protecciones contra un ataque largo de intersección," +" ya que un par podría enviar mensajes que parecen normales a la mayoría " +"de los pares, excepto a cualquier par donde se hayan dado instrucciones " +"de retardo." #: i2p2www/pages/site/get-involved/todo.html:457 #, python-format @@ -23097,15 +25542,19 @@ msgid "" "Performance related improvements are listed on the\n" "Performance page." msgstr "" +"Las mejoras en el rendimiento se listan en la página de rendimiento ." #: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2 msgid "Bounty Arabic translation of webpage and router console" msgstr "" +"Recompensa por la traducción al árabe de la página web y la consola de " +"ruter." #: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3 #: i2p2www/pages/site/get-involved/bounties/index.html:112 msgid "Arabic translation" -msgstr "" +msgstr "Traducción al árabe." #: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6 msgid "" @@ -23113,44 +25562,53 @@ msgid "" "into I2P echelon set out this bounty for translation\n" "of the I2P web page and I2P router console into Arabic." msgstr "" +"Para mejorar el uso de I2P y atraer más gente, echelon propone esta " +"recompensa por la traducción al árabe de la web de I2P y la consola del " +"ruter." #: 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 "" +msgstr "Esta recompensa de divide en 2 partes:" #: 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 "" +msgstr "La parte 1 es la traducción de la página web." #: 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 "" +"Para recibir la recompensa de 20 BTC necesita traducir las siguientes " +"páginas:" #: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25 msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada." msgstr "" +"El trabajo fue hecho por Amanda y la recompensa de 20 BTC fue pagada a " +"Amanda." #: 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 "" +"La parte 2 es la traducción de la consola del ruter. La consola del ruter" +" fue parcialmente traducida y la recompensa de 80 BTC se pagó a hamada." #: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34 msgid "Judge is echelon." -msgstr "" +msgstr "El juez es echelon." #: i2p2www/pages/site/get-involved/bounties/btc-client.html:2 msgid "Bounty creating a I2P native Bitcoin client" -msgstr "" +msgstr "Recompensa por la creación de un cliente nativo para I2P." #: i2p2www/pages/site/get-involved/bounties/btc-client.html:3 msgid "BTC I2P native client" -msgstr "" +msgstr "Cliente nativo BTC para I2P" #: i2p2www/pages/site/get-involved/bounties/btc-client.html:6 msgid "" @@ -23160,18 +25618,24 @@ msgid "" "gateways to\n" "the existant bitcoin network." msgstr "" +"Para el futuro de I2P y para atraer más gente a I2P esta recompensa se " +"pensó para crear un cliente de Bitcoin para I2P. Debería integrarse con " +"otros clientes dentro de la red de I2P y vía las salidas, con la red de " +"Bitcoin actual." #: i2p2www/pages/site/get-involved/bounties/btc-client.html:15 msgid "Judge is psychonaut who donated the first 30 € to this bounty." msgstr "" +"El juez es psychonaut quien donó los primeros 30 € para esta " +"recompensa." #: i2p2www/pages/site/get-involved/bounties/datastore.html:2 msgid "Bounty datastorage" -msgstr "" +msgstr "Recompensa por el almacenamiento de datos." #: i2p2www/pages/site/get-involved/bounties/datastore.html:3 msgid "datastore" -msgstr "" +msgstr "almacenamiento de datos" #: i2p2www/pages/site/get-involved/bounties/datastore.html:6 msgid "" @@ -23185,12 +25649,24 @@ msgid "" "cooperate nice with the I2P router. Maybe a integration within the\n" "webpage/router could be done." msgstr "" +"Para mejorar el uso de I2P y ser independiente del estados de los ruters " +"en funcionamiento queremos un sistema de almacenamiento de datos como una" +" extensión de I2P. Como en Freenet, el almacenamiento de información " +"debería ser distribuido y cada nodo participante debería poder configurar" +" sus propias opciones. Los archivos deberían ser guardados en trozos y al" +" menos 2-3 veces para obtener redundancia. El uso del espacio de " +"almacenamiento debería ser auto balanceado. Y aunque sea una aplicación " +"extra, debería funcionar perfectamente dentro de I2P y cooperar bien con " +"el ruter I2P. Quizás se puede hacer una integración dentro de la página " +"web o del ruter." #: 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 "" +"Esta recompensa está unida con otras 2 recompensas, \"frost para I2P\" y " +"\"eepsites en el almacenamiento de datos\"" #: i2p2www/pages/site/get-involved/bounties/datastore.html:21 msgid "" @@ -23199,6 +25675,10 @@ msgid "" "\n" "It needs to work with a GUI." msgstr "" +"La recompensa por frost para el almacenamiento de datos de I2P es pagada " +"por un programa tipo frost en donde los archivos o mensajes son " +"almacenados dentro de una base de datos y obtenidos de la base de datos. " +"Debe funcionar con GUI, entorno gráfico." #: i2p2www/pages/site/get-involved/bounties/datastore.html:26 msgid "" @@ -23219,14 +25699,17 @@ msgid "" "and \n" "free to distribute)." msgstr "" +"Para que una recompensa sea declarada pagada, necesitamos la aplicación y" +" el código. El código debe estar bajo una licencia libre (libre de " +"cambiar y de distribuir el código)." #: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2 msgid "Bounty I2P package in Debian and Ubuntu mirrors" -msgstr "" +msgstr "Recompensa por el paquete I2P en los repositorios de Debian y Ubuntu" #: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3 msgid "I2P Ubuntu/Debian package" -msgstr "" +msgstr "Paquetes I2P para Ubuntu/Debian" #: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6 msgid "" @@ -23240,14 +25723,20 @@ msgid "" "bin/bugreport.cgi?bug=448638\">448638 \n" "needs to be closed successfully." msgstr "" +"Para el futuro y para atraer más gente a I2P, esta recompensa se creó " +"para incluir los paquetes de I2P dentro de los repositorios de Ubuntu y " +"Debian. Para reclamar esta recompensa, el paquete del ruter de I2P debe " +"estar disponible desde los repositorios de Ubuntu y Debian y el bug 448638 debe cerrarse exitosamente." #: i2p2www/pages/site/get-involved/bounties/i2phex.html:2 msgid "Bounty I2PHex code implementation" -msgstr "" +msgstr "Recompensa por la implementación de I2PHex" #: i2p2www/pages/site/get-involved/bounties/i2phex.html:3 msgid "i2phex code implementation" -msgstr "" +msgstr "Implementación del código fuente de I2P" #: i2p2www/pages/site/get-involved/bounties/i2phex.html:6 msgid "" @@ -23255,10 +25744,12 @@ msgid "" "into I2PHex P2P ArneBab setout the bounty for implementing actual\n" "Phex code onto I2PHex." msgstr "" +"Para mejorar el uso de I2P y atraer más gente a I2PHex P2P, ArneBab creó " +"la recompensa por implementar el código actual de Phex dentro de I2PHex." #: i2p2www/pages/site/get-involved/bounties/index.html:5 msgid "Bounties for I2P" -msgstr "" +msgstr "Recompensas por I2P" #: i2p2www/pages/site/get-involved/bounties/index.html:6 msgid "" @@ -23274,6 +25765,16 @@ msgid "" " \n" "their support goes to what they care about." msgstr "" +"Aunque siempre aceptamos con agradecimiento cualquier contribución al " +"código, documentación, y de ese tipo, hay otras formas de hacer que I2P " +"siga adelante. Al igual que con otros proyectos libres nuestros fines se " +"podrían conseguir más rápido si fuésemos capaces de compensar a todos los" +" ayudantes para que trabajasen en I2P a jornada completa. Pero, y al " +"igual que con cualquier otro proyecto libre, esto no es posible. En lugar" +" de eso, estamos utilizando un sistema de recompensas en donde cualquiera" +" pude tener compensación por trabajar en algo que desea implementar, y la" +" gente que ayuda a I2P puede estar segura que su apoyo va dirigido a lo " +"que a ellos les interesa." #: i2p2www/pages/site/get-involved/bounties/index.html:18 msgid "" @@ -23286,36 +25787,42 @@ msgid "" " \n" "etc), and the like." msgstr "" +"También mantenemos abierta una posibilidad para la gente que quiere " +"ayudar a I2P pero no está convencida de las recompensas disponibles. Esta" +" gente simplemente puede poner su confianza en el equipo de I2P para que " +"este haga lo que piense que es mejor, donando a un fondo general que será" +" usado en lo que se considere necesario - usado para las recompensas, " +"cubrir imprevistos (alojamiento, etc), y cosas de ese tipo." #: i2p2www/pages/site/get-involved/bounties/index.html:27 msgid "Current bounties" -msgstr "" +msgstr "Recompensas actuales" #: i2p2www/pages/site/get-involved/bounties/index.html:30 #: i2p2www/pages/site/get-involved/bounties/index.html:92 #: i2p2www/pages/site/get-involved/bounties/index.html:105 msgid "Name" -msgstr "" +msgstr "Nombre" #: i2p2www/pages/site/get-involved/bounties/index.html:30 #: i2p2www/pages/site/get-involved/bounties/index.html:92 #: i2p2www/pages/site/get-involved/bounties/index.html:105 msgid "Status" -msgstr "" +msgstr "Estado" #: i2p2www/pages/site/get-involved/bounties/index.html:30 #: i2p2www/pages/site/get-involved/bounties/index.html:92 msgid "Judge" -msgstr "" +msgstr "Juez" #: i2p2www/pages/site/get-involved/bounties/index.html:30 #: i2p2www/pages/site/get-involved/bounties/index.html:92 msgid "Bounty" -msgstr "" +msgstr "Recompensas" #: i2p2www/pages/site/get-involved/bounties/index.html:32 msgid "Frost for I2P datastorage" -msgstr "" +msgstr "Frost para el almacenamiento de datos de I2P" #: i2p2www/pages/site/get-involved/bounties/index.html:33 #: i2p2www/pages/site/get-involved/bounties/index.html:40 @@ -23325,35 +25832,35 @@ msgstr "" #: i2p2www/pages/site/get-involved/bounties/index.html:68 #: i2p2www/pages/site/get-involved/bounties/index.html:82 msgid "Proposal in development" -msgstr "" +msgstr "Proposición en desarrollo" #: i2p2www/pages/site/get-involved/bounties/index.html:39 msgid "Eepsites served out of I2P datastorage" -msgstr "" +msgstr "Eepsites disponibles fuera del almacenamiento de datos de I2P" #: i2p2www/pages/site/get-involved/bounties/index.html:46 msgid "Backporting Phex code onto I2PHex" -msgstr "" +msgstr "Portar el código de Phex dentro de I2PHex" #: i2p2www/pages/site/get-involved/bounties/index.html:53 msgid "Make I2P IPv6 native" -msgstr "" +msgstr "Hacer I2P IPV6 nativo" #: i2p2www/pages/site/get-involved/bounties/index.html:60 msgid "I2P package in Debian and Ubuntu mirrors" -msgstr "" +msgstr "Paquetes I2P disponibles en los repositorios de Debian y Ubuntu" #: i2p2www/pages/site/get-involved/bounties/index.html:74 msgid "Unit tests and Multi-router Simulation" -msgstr "" +msgstr "Unit tests y simulación multi-tuter" #: i2p2www/pages/site/get-involved/bounties/index.html:75 msgid "Partly done, partly in work, partly still open" -msgstr "" +msgstr "Parcialmente hecho, parcialmente trabajando, parcialmente aún abierto" #: i2p2www/pages/site/get-involved/bounties/index.html:89 msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding" -msgstr "" +msgstr "Recompensas paradas, paradas a causa de la desaparición de jrandom." #: i2p2www/pages/site/get-involved/bounties/index.html:94 msgid "Bundling bounties" @@ -23361,23 +25868,23 @@ msgstr "" #: i2p2www/pages/site/get-involved/bounties/index.html:95 msgid "Proposed" -msgstr "" +msgstr "Propuesto" #: i2p2www/pages/site/get-involved/bounties/index.html:102 msgid "Claimed bounties" -msgstr "" +msgstr "Recompensas reclamadas" #: i2p2www/pages/site/get-involved/bounties/index.html:105 msgid "Dev team" -msgstr "" +msgstr "Equipo de desarrollo" #: i2p2www/pages/site/get-involved/bounties/index.html:107 msgid "Setting up a SILC server" -msgstr "" +msgstr "Configurar un servidor SILC" #: i2p2www/pages/site/get-involved/bounties/index.html:117 msgid "Datastore over I2P" -msgstr "" +msgstr "Almacenamiento de datos sobre I2P." #: i2p2www/pages/site/get-involved/bounties/index.html:127 msgid "Swarming file transfer" @@ -23393,7 +25900,7 @@ msgstr "" #: i2p2www/pages/site/get-involved/bounties/index.html:142 msgid "Unit tests (part 1)" -msgstr "" +msgstr "Unit tests (parte 1)" #: i2p2www/pages/site/get-involved/bounties/index.html:154 msgid "" @@ -23403,14 +25910,17 @@ msgid "" "of the\n" "people listed!" msgstr "" +"Los desarrolladores listan a cualquier persona que haya podido trabajar " +"en la recompensa - por lo cual si está interesado en trabajar en ello, " +"¡por favor contacte con una de las personas listadas!" #: i2p2www/pages/site/get-involved/bounties/ipv6.html:2 msgid "Bounty I2P IPv6 native" -msgstr "" +msgstr "Recompensa por IPV6 nativo para I2P" #: i2p2www/pages/site/get-involved/bounties/ipv6.html:3 msgid "native IPv6 I2P" -msgstr "" +msgstr "IPV6 nativo para I2P" #: i2p2www/pages/site/get-involved/bounties/ipv6.html:6 msgid "" @@ -24716,16 +27226,16 @@ msgstr "" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2 msgid "Developer Guidelines and Coding Style" -msgstr "" +msgstr "Estilo del código y pautas a seguir para los desarrolladores." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4 #, python-format msgid "Read the new developers guide first." -msgstr "" +msgstr "Primero lea la guía para nuevos programadores." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8 msgid "Basic Guidelines and Coding Style" -msgstr "" +msgstr "Pautas básicas y estilo del código" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10 msgid "" @@ -24737,10 +27247,16 @@ msgid "" "substantially different;\n" "check with the appropriate developer for guidance." msgstr "" +"La mayor parte de lo siguiente debería ser de sentido común para " +"cualquiera que haya trabajado para proyectos de código libre o en " +"ambientes de desarrollo comerciales. Lo siguiente se aplica sobre todo " +"para el desarrollo de la rama principal i2p.i2p. Las guías para otras " +"ramas, pluguins y aplicaciones externas pueden ser bastante diferentes, " +"pregúntele al desarrollador indicado en tal caso." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18 msgid "Community" -msgstr "" +msgstr "Comunidad" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20 msgid "" @@ -24750,6 +27266,10 @@ msgid "" "testing;\n" "bug reporting and responses; documentation; code reviews; etc." msgstr "" +"Por favor no sólo \"escriba código\". Si puede, participe en otras " +"actividades de desarrollo como: discusiones sobre el desarrollo y soporte" +" en el IRC, zzz.i2p, y el foro de.i2p; reporte y solución de errores; " +"documentación, revisión del código, etc." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25 msgid "" @@ -24758,6 +27278,9 @@ msgid "" "Adhere to release milestones such as feature freeze, tag freeze, and\n" "the checkin deadline for a release." msgstr "" +"Los programadores activos deberían estar disponibles periódicamente en el" +" canal #i2p-dev del IRC. Tenga en cuenta el ciclo de liberación de " +"versiones actual. Fix this! not translated all yet!!! " #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35 msgid "" @@ -24768,6 +27291,11 @@ msgid "" "If you have not used monotone before, start with baby steps.\n" "Check in some small changes and see how it goes." msgstr "" +"Debe tener conocimientos básicos del funcionamiento de sistemas de " +"control de código, incluso si nunca ha usado monotone antes. Pida ayuda " +"si lo necesita. Una vez subido algo no hay vuelta atrás, no se puede " +"deshacer, por favor tenga cuidado. Si nunca ha usado monotone antes " +"empiece con mucho cuidado. Suba pequeños cambios y observe como funciona." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42 msgid "" @@ -24780,6 +27308,12 @@ msgid "" "\n" "you push your change." msgstr "" +"Pruebe los cambios antes de subirlos. Si prefiere el modelo de desarrollo" +" subir-antes-de-probar use su propia rama de desarrollo (por ejemplo " +"i2p.i2p.yourname.test) y envíelo de vuelta a i2p.i2p una vez que funcione" +" correctamente. No rompa la compilación. No cree regresiones. En caso de " +"que lo haga (a veces ocurre), no desaparezca por mucho tiempo antes de " +"subir el cambio." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51 msgid "" @@ -24789,12 +27323,18 @@ msgid "" "history.txt\n" "and increment the build revision in RouterVersion.java." msgstr "" +"Si su cambio no es trivial, o desea que otra gente lo pruebe y necesita " +"reportes fiables para saber si su cambio ha sido probado o no, añada un " +"comentario de confirmación en history.txt e incremente la versión de " +"compilación en RouterVersion.java." #: 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 "" +"Asegúrese de que tiene la última versión del archivo monotonerc en _MTN." +" No lo sobrescriba con versiones no confiables." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60 msgid "" @@ -24806,6 +27346,12 @@ msgid "" "database merge,\n" "without creating a merge revision." msgstr "" +"asegúrese que ha descargado la última revisión antes de subir los " +"cambios. Si crea un divergencia accidentalmente, una y suba tan pronto " +"como sea posible. No haga que otros lo fusionen rutinariamente por usted." +" Si, sabemos que monotone indica que debe subir y unir, pero por nuestra " +"experiencia sabemos que funciona tan bien la unión in-workspace como la " +"unión n-database si crear una revisión de unión." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68 msgid "" @@ -24815,10 +27361,14 @@ msgid "" "branch in monotone\n" "and do the development there so you do not block releases." msgstr "" +"No suba cambios grandes a la rama principal i2p.i2p al final del ciclo de" +" versión. Si un proyecto va a tardar más de varios días, cree si propia " +"rama de monotone y programe allí para no no bloquear la salida de nueva " +"versiones." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75 msgid "Coding Style" -msgstr "" +msgstr "Estilo de programación" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77 msgid "" @@ -24831,12 +27381,21 @@ msgid "" "In some places, the coding style is different.\n" "Use common sense. Emulate the style in the file you are modifying." msgstr "" +"El código de estilo en la mayoría de los casos es de usar la sangría de" +" 4 espacios. No use tabulación. No cambie el formato del código. Si su " +"editor o IDE quiere cambiar el formato configúrelo para que no lo haga. " +"Sí, sabemos que usar 4 espacios es doloroso, pero probablemente pueda " +"configurar su editor apropiadamente. En algunos casos el estilo de " +"programar es diferente, use el sentido común, emule el estilo del archivo" +" que está modificando." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84 msgid "" "New classes and methods require at least brief javadocs. Add @since " "release-number." msgstr "" +"Las nuevas clases y métodos necesitan al menos un javadocs básico. Añada " +"@since numero-versión." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87 msgid "" @@ -24850,6 +27409,14 @@ msgid "" "If you add or change the API, also update the documentation on the " "website (i2p.www branch)." msgstr "" +"Las clases del núcleo/ (i2p.jar) y partes de i2ptunnel están incluidas en" +" el API oficial. \n" +"Hay varios pluguins y otras aplicaciones que dependen de este API.\n" +"Tenga cuidado en no hacer cambios que rompan la compatibilidad.\n" +"No añada métodos al API a no ser que sean de utilidad general.\n" +"Los Javadocs de los métodos del API deben ser claros y completos.\n" +"Si añades cambios al API, debe también actualizar la documentación en la " +"web (i2p.www branch)." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95 msgid "" @@ -24860,12 +27427,21 @@ msgid "" "release cycle so that\n" "translators have a chance to update before the release." msgstr "" +"Incluya cadenas de texto para la traducción cuando sea apropiado.\n" +"No cambie las cadenas ya etiquetadas a no ser que sea necesario ya que " +"rompería las traducciones existentes.\n" +"No añada o cambie las cadenas después del \"tag freeze\" durante la " +"liberación de la versión,\n" +"así los programadores tienen la oportunidad de actualizarlo antes de su " +"liberación" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101 msgid "" "Use generics and concurrent classes where possible. I2P is a highly " "multi-threaded application." msgstr "" +"Siempre que pueda use clases genéricas y concurrentes. I2P es una " +"aplicación multi-hilos." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104 msgid "" @@ -24875,12 +27451,19 @@ msgid "" "and providing alternate Java 5 code. See classes in net.i2p.util for " "examples." msgstr "" +"Necesita Java 6 para compilar I2P, pero sólo Java 5 para ejecutarlo.\n" +"No use las clases o métodos de Java 6 sin encargase antes de las clases " +"de excepciones not found\n" +"y de proporcionar el código alternativo para Java 5. Vea los ejemplos de " +"clases en net.i2p.util." #: 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 "" +"Convierta explícitamente entre tipos primitivos y clases;\n" +"no confíe en autoboxing/unboxing." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117 msgid "" @@ -24890,6 +27473,10 @@ msgid "" "verify the license is compatible,\n" "and obtain approval from the lead developer." msgstr "" +"Sólo suba el código que ha escrito usted.\n" +"Antes de subir el código o librerías de otras fuentes,\n" +"verifique que la licencia es compatible,\n" +"y obtenga permiso del desarrollador." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124 msgid "" @@ -24897,10 +27484,14 @@ msgid "" "it is your responsibility to first verify the license is compatible.\n" "Include the license and source information in the checkin comment." msgstr "" +"Para cualquier imagen subida de fuentes externas,\n" +"es su responsabilidad verificar primero si la licencia es compatible.\n" +"Incluya la licencia y la información de la fuente en el comentario de " +"subida." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131 msgid "Bugs" -msgstr "" +msgstr "Bugs" #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133 #, python-format @@ -24909,6 +27500,11 @@ msgid "" "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 "" +"Mantener las entradas del Trac es trabajo de todos, por favor denos su " +"ayuda.\n" +"Observe el %(trac)s por entradas que le hayan sido asignadas o en las que" +" pueda ayudar.\n" +"Asigne, categorice, comente, arregle, o cierre entradas si puede." #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138 msgid "" @@ -24919,6 +27515,14 @@ msgid "" "Add a comment with the dev build number or revision and set\n" "the milestone to the next release." msgstr "" +"Cierre la entrada cuando piense que la ha arreglado.\n" +"No tenemos un departamento de pruebas para verificar las entradas " +"cerradas.\n" +"Si no está seguro de haberlo solucionado, ciérrela y añada una nota " +"diciendo \"I think I fixed it, please test and reopen if it's still " +"broken\".\n" +"Añada un comentario con el número de compilación o la revisión y " +"establezca el hito para la siguiente versión." #: i2p2www/pages/site/get-involved/guides/ides.html:4 msgid "" @@ -24926,6 +27530,9 @@ msgid "" " enable developers to easily set up two of the commonly-used IDEs for " "Java development: Eclipse and NetBeans." msgstr "" +"La rama principal de desarrollo de I2P (i2p.i2p) ha sido " +"configurada para permitir a los desarrolladores configurar fácilmente los" +" dos IDEs de desarrollo de JAVA más usados: Eclipse y NetBeans." #: i2p2www/pages/site/get-involved/guides/ides.html:10 msgid "" @@ -24933,73 +27540,89 @@ msgid "" " it) contain .project and .classpath Eclipse files, to enable the branch " "to be easily set up in Eclipse." msgstr "" +"Las ramas principales de desarrollo de I2P (i2p.i2p y sus " +"ramas) contienen los archivos para Eclipse .project y .classpath, para " +"permitir una configuración fácil de I2P en eclipse." #: i2p2www/pages/site/get-involved/guides/ides.html:16 msgid "" "Check out the I2P branch into some directory (e.g. " "$HOME/dev/i2p.i2p)." msgstr "" +"Descarga a rama de I2P a algún directorio ( por ejemplo " +"$HOME/dev/i2p.i2p)." #: i2p2www/pages/site/get-involved/guides/ides.html:20 msgid "" "Open Eclipse and create a new Workspace, based in the directory that the " "I2P branch was checked out to." msgstr "" +"Abre Eclipse y crea un nuevo Espacio de Trabajo, Workspace, basado en el " +"directorio donde se ha descargado la rama de I2P." #: i2p2www/pages/site/get-involved/guides/ides.html:24 msgid "" "Select \"File - Import...\" and then under \"General\" select \"Existing " "Projects into Workspace\"." msgstr "" +"Seleccione \"Archivo - Importar...\" y entonces en \"General\" seleccione" +" \"Proyectos existentes al Espacio de Trabajo\"" #: i2p2www/pages/site/get-involved/guides/ides.html:28 msgid "" "For \"Select root directory:\" choose the directory that the I2P branch " "was checked out to." msgstr "" +"Para \"Seleccionar el directorio raíz:\" elija la carpeta donde ha " +"descargado la rama de I2P." #: i2p2www/pages/site/get-involved/guides/ides.html:32 msgid "If necessary, click \"Refresh\" to refresh the list of projects." -msgstr "" +msgstr "Si es necesario, pulse \"Recargar\" para refrescar la lista de proyectos." #: i2p2www/pages/site/get-involved/guides/ides.html:36 msgid "Select every project in the list, and click \"Finish\"." -msgstr "" +msgstr "Seleccione cada proyecto de la lista y pulse \"Terminar\"." #: i2p2www/pages/site/get-involved/guides/ides.html:40 msgid "" "Done! Your workspace should now contain all projects within the I2P " "branch, and their build dependencies should be correctly set up." msgstr "" +"¡Listo! Su espacio de trabajo debería incluir todos los proyectos de la " +"rama de I2P, y sus dependencias deberían estar correctamente " +"configuradas." #: i2p2www/pages/site/get-involved/guides/ides.html:48 msgid "" "The main I2P development branches (i2p.i2p and branches from" " it) contain NetBeans project files." msgstr "" +"Las ramas principales del proyecto de I2P (i2p.i2p y sus " +"ramas) contienen los archivos del proyecto necesarios para NetBeans." #: i2p2www/pages/site/get-involved/guides/monotone.html:9 msgid "Operating a Monotone client" -msgstr "" +msgstr "Usando el cliente Monotone" #: i2p2www/pages/site/get-involved/guides/monotone.html:11 #: i2p2www/pages/site/get-involved/guides/monotone.html:63 msgid "Generating Monotone keys" -msgstr "" +msgstr "Generando las claves de Monotone" #: i2p2www/pages/site/get-involved/guides/monotone.html:12 msgid "Trust and initializing your repository" -msgstr "" +msgstr "Confianza e iniciando su repositorio" #: 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 "" +msgstr "Obteniendo y desplegando las claves de los desarrolladores" #: 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 "" +msgstr "Configurar las conexiones de confianza" #: i2p2www/pages/site/get-involved/guides/monotone.html:15 #: i2p2www/pages/site/get-involved/guides/monotone.html:268 @@ -25007,45 +27630,47 @@ msgid "" "Pulling the i2p.i2p, i2p.www and " "i2p.syndie branches" msgstr "" +"Descargar las ramas de i2p.i2p, i2p.www y " +"i2p.syndie" #: 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 "" +msgstr "Verificar que la evaluación de confianza funciona" #: 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 "" +msgstr "Descargar una copia funcional de la última versión" #: 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 "" +msgstr "Actualizar sus fuentes a la última versión" #: i2p2www/pages/site/get-involved/guides/monotone.html:22 #: i2p2www/pages/site/get-involved/guides/monotone.html:414 msgid "Operating a Monotone Server" -msgstr "" +msgstr "Usando en servidor Monotone" #: i2p2www/pages/site/get-involved/guides/monotone.html:24 msgid "Obtaining and deploying developers’ transport keys" -msgstr "" +msgstr "Obteniendo y desplegando las claves de transporte de los desarrolladores" #: 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 "" +msgstr "Obtener acceso para subir y descargar" #: 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 "" +msgstr "Ejecutar Monotone en modo servidor" #: 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 "" +msgstr "Diferencias en Debian GNU/Linux" #: i2p2www/pages/site/get-involved/guides/monotone.html:34 #, python-format @@ -25056,6 +27681,10 @@ msgid "" " For basic instructions see the quick-start " "guide." msgstr "" +"Esto es una versión revisada de la guía " +"original de Complication detallando el uso de Monotone en el " +"desarrollo de I2P. Para obtener instrucciones básicas vea la guía rápida." #: i2p2www/pages/site/get-involved/guides/monotone.html:42 #, python-format @@ -25070,6 +27699,12 @@ msgid "" "signed\n" " before commit rights are granted)." msgstr "" +"I2P usa un modelo distribuido de desarrollo. El código es replicado por " +"administradores independientes en repositorios Monotone (\"MTN\"). Los " +"desarrolladores con derechos para ello pueden subir sus cambios al " +"repositorio (deben firmar un acuerdo de " +"licencia antes de obtener estos derechos)" #: i2p2www/pages/site/get-involved/guides/monotone.html:52 msgid "" @@ -25080,10 +27715,15 @@ msgid "" " and\n" " having the ability to resume interrupted synchronization attempts." msgstr "" +"Algunas de las notables cualidades de Monotone son: control de versiones " +"distribuido, autenticación con cifrados, acceso de control, su pequeño " +"tamaño, tiene pocas dependencias, el almacenamiento de los proyectos usa " +"una base de datos SQLite comprimida, y además tiene la capacidad de " +"reanudar los intentos de sincronización interrumpidos." #: i2p2www/pages/site/get-involved/guides/monotone.html:61 msgid "Operating a Monotone Client" -msgstr "" +msgstr "Usando un cliente Monotone" #: i2p2www/pages/site/get-involved/guides/monotone.html:66 msgid "" @@ -25094,6 +27734,11 @@ msgid "" " None of the public Monotone servers on I2P currently require a key in " "order to read (or pull) the source code." msgstr "" +"Una clave de transporte le permite subir sus cambios al repositorio del " +"servidor Monotone. Para poder subir código a Monotone (firmando su " +"código), es necesaria una clave de subida. Ninguno de los servidores " +"públicos de Monotone en I2P necesita claves para poder leer (o descargar)" +" el código." #: i2p2www/pages/site/get-involved/guides/monotone.html:74 msgid "" @@ -25105,6 +27750,13 @@ msgid "" "
  • run a Monotone server
  • \n" " " msgstr "" +"Sin una clave de transporte no se puede:\n" +"
      \n" +"
    • descargar el código de un servidor que no permita acceso global de " +"lectura
    • \n" +"
    • subir código a cualquier servidor
    • \n" +"
    • ejecutar un servidor Monotone
    • \n" +"
    " #: i2p2www/pages/site/get-involved/guides/monotone.html:85 msgid "" @@ -25113,6 +27765,10 @@ msgid "" "
  • commit any code
  • \n" " " msgstr "" +"Sin una clave de subida no se puede:\n" +"
      \n" +"
    • subir ningún código
    • \n" +"
    " #: i2p2www/pages/site/get-involved/guides/monotone.html:94 msgid "" @@ -25121,6 +27777,9 @@ msgid "" "If you want\n" " to generate keys, read the following." msgstr "" +"So sólo desea obtener el código de MTN salte a la siguiente sección. Si desea generar " +"las claves siga leyendo aquí." #: i2p2www/pages/site/get-involved/guides/monotone.html:102 msgid "" @@ -25128,6 +27787,9 @@ msgid "" "corresponding e-mail\n" " address does not need to exist. For example, your keys might be named:" msgstr "" +"Por convenio las claves son nombradas como una dirección de email, pero " +"no es necesario que exista un email correspondiente. Por ejemplo, sus " +"claves podrían llamarse:" #: i2p2www/pages/site/get-involved/guides/monotone.html:113 msgid "" @@ -25135,12 +27797,17 @@ msgid "" "text files which\n" " are named identically to the keys. For example:" msgstr "" +"Monotone guarda las claves en $HOME/.monotone/keys en" +" archivos de texto que se llaman exactamente igual que la clave. Por " +"ejemplo:" #: i2p2www/pages/site/get-involved/guides/monotone.html:123 msgid "" "To generate transport and commit keys, enter the following commands at a " "prompt:" msgstr "" +"Para generar las claves de transporte y subida ejecute los siguientes " +"comandos en la terminal:" #: i2p2www/pages/site/get-involved/guides/monotone.html:133 msgid "" @@ -25150,10 +27817,14 @@ msgid "" "transport key, especially those running a\n" " Monotone server." msgstr "" +"Monotone le pedirá una contraseña para proteger sus claves. Se recomienda" +" encarecidamente usar una contraseña para la clave de subida. Muchos " +"usuarios dejan la contraseña de transporte en blanco, sobre todo los que " +"ejecutan un servidor Monotone." #: i2p2www/pages/site/get-involved/guides/monotone.html:141 msgid "Trust, and initializing your repository" -msgstr "" +msgstr "Confianza e iniciando su repositorio" #: i2p2www/pages/site/get-involved/guides/monotone.html:145 msgid "" @@ -25165,12 +27836,20 @@ msgid "" "read the right diffs. It does\n" " not replace reading diffs." msgstr "" +"El modelo de seguridad de Monotone ayuda a asegurar que nadie puede " +"suplantar a un programador fácilmente si ser detectado. Ya que los " +"programadores pueden cometer errores y pueden ser comprometidos, sólo una" +" revisión manual puede asegurar la calidad del código. El modelo de " +"confianza de Monotone se asegura de que usted sólo lea los cambios " +"correctos. No reemplaza los cambios de lectura." #: i2p2www/pages/site/get-involved/guides/monotone.html:155 msgid "" "A Monotone repository is a single file (a compressed SQLite database) " "which contains all of the project's source code and history." msgstr "" +"Un repositorio Monotono es un solo archivo (comprimido en una base de " +"datos SQLite) que contiene todo el código del proyecto y su historial." #: i2p2www/pages/site/get-involved/guides/monotone.html:161 msgid "" @@ -25184,6 +27863,14 @@ msgid "" "workspace but in practice they've not been\n" " needed due to the push access policies in place." msgstr "" +"Después de importar" +" las claves de los desarrolladores a Monotone y de configurar las conexiones de " +"confianza, Monotone evitará que cualquier código que no sea de " +"confianza sea subido a su espacio de trabajo.\n" +"Existen comandos disponibles para limpiar el código no confiable de su " +"espacio de trabajo, pero en práctica no han sido necesitados debido a las" +" reglas de acceso de subida activas." #: i2p2www/pages/site/get-involved/guides/monotone.html:171 msgid "" @@ -25500,6 +28187,10 @@ msgid "" "on contributing to the website or the software, doing development or " "creating translations." msgstr "" +"\n" +"¿Entonces, quiere empezar a trabajar en I2P? ¡Bien! Aquí tiene una " +"pequeña guía de como empezar contribuyendo, con la web o con el software," +" programando código o traduciendo." #: i2p2www/pages/site/get-involved/guides/new-developers.html:9 #, python-format @@ -25508,46 +28199,49 @@ msgid "" "Not quite ready for coding?\n" "Try getting involved first." msgstr "" +"\n" +"¿Aún no está listo para programar? Pruebe primero a involucrarse en el proyecto." #: i2p2www/pages/site/get-involved/guides/new-developers.html:16 #: i2p2www/pages/site/get-involved/guides/new-developers.html:27 msgid "Basic study" -msgstr "" +msgstr "Estudios básicos" #: 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 "" +msgstr "Obteniendo el código de I2P" #: i2p2www/pages/site/get-involved/guides/new-developers.html:18 #: i2p2www/pages/site/get-involved/guides/new-developers.html:112 msgid "Building I2P" -msgstr "" +msgstr "Compilando I2P" #: i2p2www/pages/site/get-involved/guides/new-developers.html:19 #: i2p2www/pages/site/get-involved/guides/new-developers.html:133 msgid "Development ideas" -msgstr "" +msgstr "Ideas para desarrollar" #: 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 "" +msgstr "Haciendo que los resultados estén disponibles" #: 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 "" +msgstr "¡Conózcanos!" #: i2p2www/pages/site/get-involved/guides/new-developers.html:22 #: i2p2www/pages/site/get-involved/guides/new-developers.html:168 msgid "Translations" -msgstr "" +msgstr "Traducciones" #: i2p2www/pages/site/get-involved/guides/new-developers.html:23 #: i2p2www/pages/site/get-involved/guides/new-developers.html:174 msgid "Tools" -msgstr "" +msgstr "Herramientas" #: i2p2www/pages/site/get-involved/guides/new-developers.html:29 msgid "" @@ -25556,6 +28250,10 @@ msgid "" "If you don't have experience with Java, you can always have a look at Thinking in Java." msgstr "" +"El desarrollo básico del ruter de I2P y de las aplicaciones del núcleo " +"utilizan Java como lenguaje de programación. Si no tiene experiencia con " +"Java, siempre puede echarle un ojo a Thinking in Java." #: i2p2www/pages/site/get-involved/guides/new-developers.html:33 #, python-format @@ -25567,12 +28265,19 @@ msgid "" "These will give you a good overview of how I2P is structured and what " "different things it does." msgstr "" +"Estudie la introducción de cómo, los otros \"como\" documentos, la a " +"href=\"%(techintro)s\">introducción técnica, y los documentos " +"asociados. Esto le dará una buena vista general de como está estructurado" +" y de qué otras cosas hace I2P." #: 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 "" +"Para programar la consola de I2P o las aplicaciones principales, instale " +"el código del repositorio de monotone - instrucciones rápidas:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:48 msgid "" @@ -25582,6 +28287,10 @@ msgid "" "the source code (and for a lot of complicated things, but 'keeping track " "of changes' is the basic idea)." msgstr "" +"Instale monotone. Monotone es un " +"sistema de control de versiones. Lo utilizamos porque nos permite llevar " +"el control de quien cambia el código (y muchas cosas complicadas más, " +"pero el control de los cambios es el motivo principal)" #: i2p2www/pages/site/get-involved/guides/new-developers.html:53 msgid "" @@ -25589,12 +28298,17 @@ msgid "" "href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone tutorial," " to make sure you understand the concepts." msgstr "" +"Eche una ojeada al tutorial de " +"monotone para asegurarse de que entiende los conceptos" #: i2p2www/pages/site/get-involved/guides/new-developers.html:57 msgid "" "If you want to remain anonymous, you need to do an additional step, to " "set up a connection to a monotone server over I2P:" msgstr "" +"Si desea permanecer anónimo necesita un paso adicional, configurar una " +"conexión al servidor de monotone a través de I2P:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:60 #, python-format @@ -25602,12 +28316,16 @@ msgid "" "Enable the i2ptunnel client tunnel on port " "8998 pointing to mtn.i2p2.i2p." msgstr "" +"Habilite el túnel cliente i2ptunnel en e " +"puerto 8998 apuntando a mtn.i2p2.i2p." #: 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 "" +"Elija un directorio donde quiera poner todos los archivos de I2P, y cree " +"una base de datos para monotone:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:67 msgid "" @@ -25615,6 +28333,9 @@ msgid "" " _MTN/monotonerc in the i2p.i2p workspace) with the " "following contents:" msgstr "" +"Defina la lista de confianza creando code>~/.monotone/monotonerc " +"(o _MTN/monotonerc en el área de trabajo de i2p.i2p ) con el" +" siguiente contenido:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:72 #, python-format @@ -25624,42 +28345,55 @@ msgid "" " that i2p.mtn is in. Import the keys into your database " "with
          mtn -d i2p.mtn read < keys.txt
    " msgstr "" +"Copie y pegue las claves de los " +"desarrolladores en un nuevo archivo (por ejemplo " +"keys.txt) en el mismo directorio que está " +"i2p.mtn. Importe las claves a su base de datos con " +"
     mtn -d i2p.mtn read < keys.txt
    " #: i2p2www/pages/site/get-involved/guides/new-developers.html:76 msgid "" "Pull the I2P sources to your machine. This may take a long time, " "especially if you are doing this over I2P!" msgstr "" +"Descargue el código de I2P a su ordenador. ¡Puede tardar bastante, sobre " +"todo si lo hace a través de I2P!" #: i2p2www/pages/site/get-involved/guides/new-developers.html:78 msgid "Anonymously:" -msgstr "" +msgstr "Anónimamente:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:81 msgid "Non-anonymously:" -msgstr "" +msgstr "Sin anonimato:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:83 msgid "" "Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn" ".i2p-projekt.de." msgstr "" +"También puede descargarlo desde mtn.i2p-projekt.de además de " +"'mtn.i2p2.de'." #: i2p2www/pages/site/get-involved/guides/new-developers.html:90 msgid "" "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:" msgstr "" +"Todo el código esta ahora en su ordenador, en al archivo de la base de " +"datos. Para hacerlo accesible en el directorio necesita ejecutar:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:92 msgid "" "The above command creates a directory i2p.i2p, which contains all of the " "I2P sources." msgstr "" +"El comando anterior crea el directorio i2p.i2p, el cual contiene todo el " +"código de I2P." #: i2p2www/pages/site/get-involved/guides/new-developers.html:96 msgid "Remarks" -msgstr "" +msgstr "Notas" #: i2p2www/pages/site/get-involved/guides/new-developers.html:97 msgid "" @@ -25667,6 +28401,9 @@ msgid "" "To download the website files instead of the I2P source files, use " "'i2p.www' instead of 'i2p.i2p'." msgstr "" +"\n" +"Para descargar la página web en vez del código use 'i2p.www' en vez de " +"'i2p.i2p'." #: i2p2www/pages/site/get-involved/guides/new-developers.html:100 msgid "" @@ -25675,6 +28412,10 @@ msgid "" " left off.\n" "If you are in a hurry, use the non-anonymous access." msgstr "" +"La descarga inicial puede tardar varias horas. Si falla después de una " +"descarga parcial, simplemente vuelva a ejecutar el mismo comando y " +"empezará donde lo dejó. Si tiene prisa use el sistema de acceso no " +"anónimo" #: i2p2www/pages/site/get-involved/guides/new-developers.html:105 #, python-format @@ -25682,6 +28423,8 @@ msgid "" "A full list of branches, including i2p.i2p and i2p.www can be found on viewmtn." msgstr "" +"Una lista completa de servidores de descarga, incluyendo i2p.i2p y " +"i2p.www puede encontrarse en viewmtn." #: i2p2www/pages/site/get-involved/guides/new-developers.html:108 #, python-format @@ -25689,6 +28432,8 @@ msgid "" "A long explanation about using monotone is available on the monotone page." msgstr "" +"Una explicación completa de cómo usar monotone está disponible en la web de monotone." #: i2p2www/pages/site/get-involved/guides/new-developers.html:114 #, python-format @@ -25701,6 +28446,11 @@ msgid "" "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." msgstr "" +"Para compilar el código necesita Sun Java Development Kit 6 o mayor, o el" +" JDK equivalente (Sun JDK 6 recomendado) y Apache ant versión 1.7.0 o mayor. Si" +" va a trabajar en al código principal de I2P puede entrar al directorio " +"i2p.i2p y ejecutar 'ant' para ver las opciones de compilación." #: i2p2www/pages/site/get-involved/guides/new-developers.html:122 msgid "" @@ -25708,6 +28458,9 @@ msgid "" "the xgettext, msgfmt, and msgmerge tools from the\n" "GNU gettext package." msgstr "" +"Para trabajar en la traducción de la consola necesita las herramientas " +"gettext, msgfmt, y msgmerge del paquete GNU gettext." #: i2p2www/pages/site/get-involved/guides/new-developers.html:128 #, python-format @@ -25715,6 +28468,8 @@ msgid "" "For development on new applications,\n" "see the application development guide." msgstr "" +"Para programar nuevas aplicaciones vea la guía de " +"desarrollo de aplicaciones." #: i2p2www/pages/site/get-involved/guides/new-developers.html:134 #, python-format @@ -25724,6 +28479,9 @@ msgid "" "Trac\n" "for ideas." msgstr "" +"Para una lista de ideas vea la lista " +"de PORHACER de zzz, la lista de PORHACER de esta" +" web o el Trac." #: i2p2www/pages/site/get-involved/guides/new-developers.html:143 #, python-format @@ -25733,18 +28491,23 @@ msgid "" "commit privilege requirements. You need these to put code into i2p.i2p " "(not required for the website!)." msgstr "" +"Mira en la parte de abajo de la página " +"de licencias para conocer los requisitos. Los necesita para poder " +"aportar código a i2p.i2p (¡pero no para la página web!)" #: 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 "" +"Versión corta de cómo generar y usar las claves si tiene planeado hacer " +"aportes:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:150 msgid "use an empty passphrase" -msgstr "" +msgstr "use una contraseña vacía, sin contraseña" #: i2p2www/pages/site/get-involved/guides/new-developers.html:151 msgid "enter a passphrase" -msgstr "" +msgstr "escriba una contraseña" #: i2p2www/pages/site/get-involved/guides/new-developers.html:152 #, python-format @@ -25752,6 +28515,8 @@ msgid "" "send this to a mtn repo operator to get " "push privileges" msgstr "" +"envíe esto al administrador del " +"repositorio de mtn para tener permisos para aportar:" #: i2p2www/pages/site/get-involved/guides/new-developers.html:153 #, python-format @@ -25759,19 +28524,22 @@ msgid "" "send this to a release manager to get " "commit privileges - not required for website" msgstr "" +"envíe esto al encargado de las versiones" +" para obtener los permisos para aportar - no se requiere para la página " +"web" #: i2p2www/pages/site/get-involved/guides/new-developers.html:154 msgid "check in with this key" -msgstr "" +msgstr "loguee con esta clave" #: i2p2www/pages/site/get-involved/guides/new-developers.html:155 msgid "push with this key" -msgstr "" +msgstr "envíe los cambios al servidor con esta clave" #: i2p2www/pages/site/get-involved/guides/new-developers.html:157 #, python-format msgid "Long version: see the monotone page." -msgstr "" +msgstr "Versión completa: vea la web de monotone." #: i2p2www/pages/site/get-involved/guides/new-developers.html:163 #, python-format @@ -25782,6 +28550,10 @@ msgid "" "We also have additional guidelines for regular" " developers." msgstr "" +"Los desarrolladores suelen estar en el IRC. Puede contactar con ellos en " +"la red Freenode, OFTC, y en la en el IRC de I2P. El lugar usual es #i2p-" +"dev. ¡Únase al canal y diga hola!. También hay guías adicionales para desarrolladores." #: i2p2www/pages/site/get-involved/guides/new-developers.html:169 #, python-format @@ -25790,6 +28562,8 @@ msgid "" "href=\"%(newtrans)s\">New Translator's Guide\n" "for next steps." msgstr "" +"Traductores de la consola del ruter y la página web: Vea la guía de nuevos traductores." #: i2p2www/pages/site/get-involved/guides/new-developers.html:175 msgid "" @@ -25802,6 +28576,12 @@ msgid "" "if you\n" "are interested in profiling the I2P codebase." msgstr "" +"I2P es una aplicación de código libre y es desarrollada usando " +"herramientas libres. El proyecto I2P ha adquirido recientemente una " +"licencia para YourKit Java Profiler. Los proyectos libres pueden obtener " +"una licencia gratis mientras se haga referencia a YourKit en las webs del" +" proyecto. Por favor pónganse en contacto su está interesado en la " +"depuración y optimización del código base de I2P." #: i2p2www/pages/site/get-involved/guides/new-developers.html:183 #, python-format @@ -25815,10 +28595,15 @@ msgid "" "YourKit Java Profiler and\n" "YourKit .NET Profiler." msgstr "" +"YourKit está apoyando amablemente a los proyectos libres con el Java " +"Profiler completo. LLC es el creador de inteligentes e innovadoras " +"herramientas para el desarrollo de aplicaciones JAVA y .NET. Échele un " +"ojo a los productos principales de YourKit: YourKit " +"Java Profiler y YourKit .NET Profiler." #: i2p2www/pages/site/get-involved/guides/new-translators.html:4 msgid "Here's a very quick guide to getting started." -msgstr "Aquí hay a guia rápida para comenzar." +msgstr "Aquí hay a guía rápida para comenzar." #: i2p2www/pages/site/get-involved/guides/new-translators.html:6 msgid "How to Translate the Website" @@ -25834,10 +28619,11 @@ msgid "" " team. \n" "Alternatively it can be done \"the old way\" as outlined below." msgstr "" -"La traducción de las páginas webs se hace con archivos .po. La forma mas facil con diferencia\n" -"para traducir una página web es crearse una cuenta en \n" -"Transifex y solicitar unirse aun grupo de traducción. \n" -"Alternativamente se puede hacer a la \"form antigua \" como se muestra debajo." +"La traducción de las páginas web se hace con archivos .po. La forma mas " +"fácil con diferencia para traducir una página web es crearse una cuenta " +"en Transifex y solicitar unirse aun grupo " +"de traducción. Alternativamente se puede hacer a la \"forma antigua \" " +"como se muestra debajo." #: i2p2www/pages/site/get-involved/guides/new-translators.html:17 #: i2p2www/pages/site/get-involved/guides/new-translators.html:82 @@ -27167,7 +29953,9 @@ msgstr "" msgid "" "The list was gathered using the following command in the top directory of" " the branch i2p.i2p:" -msgstr "La lista fue obtenida usando el siguente comando en el directorio principal de la rama 2p.i2p:" +msgstr "" +"La lista fue obtenida usando el siguiente comando en el directorio " +"principal de la rama 2p.i2p:" #: i2p2www/pages/site/misc/ratestats.html:10 msgid "All options aren't needed, but it works." @@ -27188,15 +29976,13 @@ msgid "" "There is also a quick-start guide on the\n" "new developer's page." msgstr "" -"El código fuente de i2p es mantenido en varios repositorios distribuidos de monotone.\n" -"Vea el\n" -"Web de Monotone para mas información\n" -"sobre monotone.\n" -"Vea\n" -"este foro sobre i2p y monotone\n" -"para obtener mas información de como comenzar y descargar el código fuente anónimamente.\n" -"También hay una guía rápida en la\n" -"web de nuevos desarrolladores." +"El código fuente de i2p es mantenido en varios repositorios distribuidos " +"de monotone. Vea la Web de " +"Monotone para mas información sobre monotone. Vea este foro sobre i2p y " +"monotone para obtener mas información de como comenzar y descargar el" +" código fuente anónimamente. También hay una guía rápida en la web de nuevos desarrolladores." #: i2p2www/pages/site/misc/transition-guide.html:16 msgid "" @@ -27204,7 +29990,8 @@ msgid "" "server mtn.welterde.de.\n" "The i2p source code branch is \"i2p.i2p\"." msgstr "" -"Si desea obtener el código fuente no anónimamante, descargue desde el servidor publico mtn.welterde.de.\n" +"Si desea obtener el código fuente no anónimamente, descargue desde el " +"servidor publico mtn.welterde.de.\n" "La rama del código fuente de i2p es \"i2p.i2p\"." #: i2p2www/pages/site/misc/transition-guide.html:21 @@ -27239,12 +30026,12 @@ msgid "" "update file hosting. These changes must be configured in your router to " "take effect." msgstr "" -"Desde que el progrmador principal de i2p\n" -"se ausentó sin irse oficalmente(AWOL),\n" -"no tenemos su clave de actualización firmada o acceso a\n" -"www.i2p[.net] o dev.i2p[.net].\n" -"Complication y zzz han generado nuevas claves de firmado, y ellos y Amiga proveen\n" -"alojamiento a los archivos de actualización. Estos cambios tienen que ser configurados en su ruter para que tengan efecto. " +"Desde que el programador principal de i2p se " +"ausentó sin avisar, AWOL, no tenemos su clave de actualización " +"firmada o acceso a www.i2p[.net] o dev.i2p[.net]. Complication y zzz han " +"generado nuevas claves de firmado, y ellos y Amiga proveen alojamiento a " +"los archivos de actualización. Estos cambios tienen que ser configurados " +"en su ruter para que tengan efecto. " #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:17 msgid "" @@ -27252,8 +30039,8 @@ msgid "" "automatically install\n" "the latest release." msgstr "" -"Haga los siguientes cambios de configuración y su tuter instalará automáticamente\n" -"la última versión" +"Haga los siguientes cambios de configuración y su ruter instalará " +"automáticamente la última versión" #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:22 #, python-format @@ -27264,21 +30051,23 @@ msgid "" "you may manually download the i2pupdate.zip file from\n" "the download page." msgstr "" -"Recomendamos el proceso automático ya que verificará la clave del archivo de actualización firmado.\n" -"Si no hace estos cambios,\n" -"puede descargar manualmente el archivo i2pupdate.zip de\n" -"página de descargas." +"Recomendamos el proceso automático ya que verificará la clave del archivo" +" de actualización firmado. Si no hace estos cambios, puede descargar " +"manualmente el archivo i2pupdate.zip de la página de descargas." #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:34 #, python-format msgid "Change the News URL to: %(url)s" -msgstr "Cambia el enlace de noticias a: %(url)s" +msgstr "Cambie el enlace de noticias a: %(url)s" #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:38 msgid "" "Select ONE of the following new Update URLs at random and enter it into " "the Update URL box: " -msgstr "Seleccione una de las siguientes enlaces de actualización aleatoriamente e introdúzaclo dentro de la casilla Update URL:" +msgstr "" +"Seleccione una de las siguientes enlaces de actualización aleatoriamente " +"e introdúzcalo dentro de la casilla Update URL:" #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:43 msgid "Check the box \"Update through the eepProxy?\"" @@ -27290,7 +30079,7 @@ msgstr "Pulse \"Guardar\"" #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:51 msgid "Add the following line:" -msgstr "Añade la siguiente línea:" +msgstr "Añada la siguiente línea:" #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:55 msgid "Click \"Apply\"" @@ -27303,9 +30092,10 @@ msgid "" "clicking on the\n" "\"update available\" link when it appears." msgstr "" -"Ahora estas listo para recibir automaticamente el archivo de actualización,\n" -"ya sea configurando tu política de actualizaciones a \"descaragr e instalar\" or pulsando en el link\n" -"\"actualización disponible\" cuando aparezca." +"Ahora estas listo para recibir automáticamente el archivo de " +"actualización, ya sea configurando su política de actualizaciones a " +"\"descargar e instalar\" o pulsando en el enlace \"actualización " +"disponible\" cuando aparezca." #: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:65 #, python-format @@ -27315,9 +30105,10 @@ msgid "" "Thank you for your support during this transition. For help please " "contact us on #i2p." msgstr "" -"Si deseas verificar las claves de actualización de confianza, se encuentran también\n" -"subidas y firmadas aquí.\n" -"Gracias por tu ayuda durante la transición. Para pedir ayuda por favor contacta con nosotros en #I2P." +"Si deseas verificar las claves de actualización de confianza, se " +"encuentran también subidas y firmadas aquí. " +"Gracias por su ayuda durante la transición. Por favor, para pedir ayuda " +"contacte con nosotros en #I2P." #: i2p2www/pages/site/research/index.html:2 msgid "Academic Research" @@ -27328,7 +30119,10 @@ msgid "" "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." -msgstr "El análisis y la investigación académica de I2P es una parte importante pra asegurar que la aplicación y la red funcionan como deben y es segura para los usuarios en ambientes hostiles." +msgstr "" +"El análisis y la investigación académica de I2P es una parte importante " +"para asegurar que la aplicación y la red funcionan como deben y es segura" +" para los usuarios en ambientes hostiles." #: i2p2www/pages/site/research/index.html:8 msgid "" @@ -27337,7 +30131,13 @@ msgid "" "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 " "i2p.vmCommSystem=true to the router.config before starting." -msgstr "I2P puede ser ejecutado como una red aparte de pruebas controlando la localización desde la que el nuevo ruter resiembra, con lo cual solo conectaría con otros ruters de pruebas. Adicionalmente el ruter se puede ejecutar el solo en una red virtual para permitir probar el ruter en aislamiento; para activar este modo, añade i2p.vmCommSystem=true en router.config antes de arrancar." +msgstr "" +"I2P puede ser ejecutado como una red aparte para pruebas controlando la " +"localización desde la que el nuevo ruter resiembra, con lo cual solo " +"conectaría con otros ruters de pruebas. Adicionalmente el ruter se puede " +"ejecutar él solo en una red virtual para permitir probar el ruter en " +"aislamiento; para activar este modo, añada " +"i2p.vmCommSystem=true en router.config antes de arrancar." #: i2p2www/pages/site/research/index.html:12 #, python-format @@ -27348,7 +30148,13 @@ msgid "" "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." -msgstr "Si estas planeando hacer algún estudio sobre la red de I2P online, por favor contáctanos antes de comenzar las pruebas. Aunque no desalentamos a los desarrolladores a propar sus ideas responsablemente en la red, si algún ataque se hace aparente y no tenemos una línea de comunicación terminaremos tomando medidas que podrían interferir con las pruebas." +msgstr "" +"Si está planeando hacer algún estudio sobre la red de I2P online, por " +"favor contáctenos antes de comenzar las " +"pruebas. Aunque no desalentamos a los desarrolladores a probar sus ideas" +" responsablemente en la red, si algún ataque se hace aparente y no " +"tenemos una línea de comunicación terminaremos tomando medidas que " +"podrían interferir con las pruebas." #: i2p2www/pages/site/research/index.html:16 msgid "Prior Research" @@ -27359,15 +30165,17 @@ msgstr "Estudios anteriores" msgid "" "A list of known published papers about I2P is available here." -msgstr "Una lista de doumentos publiados sobre I2P está disponible en here." +msgstr "" +"Una lista de documentos publicados sobre I2P está disponible aquí." #: i2p2www/pages/site/research/papers.html:6 msgid "Following are links to research papers about I2P." -msgstr "A Continuación unos links para investigar trabajos sobre I2P." +msgstr "A Continuación unos enlaces para investigar trabajos sobre I2P." #: i2p2www/pages/site/research/papers.html:12 msgid "Newest links are at the top of the page." -msgstr "Los links mas nuevos se enuentran en el enabezado de la página." +msgstr "Los enlaces mas nuevos se encuentran en el encabezado de la página." #: i2p2www/pages/site/research/papers.html:17 msgid "Papers and Research" diff --git a/i2p2www/translations/fr/LC_MESSAGES/messages.po b/i2p2www/translations/fr/LC_MESSAGES/messages.po index ebf8117f..5c900ec7 100644 --- a/i2p2www/translations/fr/LC_MESSAGES/messages.po +++ b/i2p2www/translations/fr/LC_MESSAGES/messages.po @@ -1,127 +1,12348 @@ -# French translations for I2P website. -# Copyright (C) 2011 I2P -# This file is distributed under the same license as the I2P website -# project. -# magma , 2011. +# French translations for I2P. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the I2P project. # +# Translators: +# magma , 2011 +# Boxoa590, 2013 msgid "" msgstr "" -"Project-Id-Version: I2P website\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2012-09-17 06:34+0000\n" -"PO-Revision-Date: 2011-03-23 09:28+0000\n" -"Last-Translator: magma \n" -"Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Project-Id-Version: I2P\n" +"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" +"POT-Creation-Date: 2013-02-22 13:25+0000\n" +"PO-Revision-Date: 2013-06-05 09:51+0000\n" +"Last-Translator: Boxoa590\n" +"Language-Team: French " +"(http://www.transifex.com/projects/p/I2P/language/fr/)\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -"X-Generator: Poedit 1.5.3\n" -#: pages/site/docs/how/intro.html:2 +#: 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 +msgid "Files are available on the `download page`_." +msgstr "" + +#: 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 +msgid "`download page`" +msgstr "" + +#: 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 +msgid "RELEASE DETAILS" +msgstr "DETAILS SUR CETTE VERSION" + +#: 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 "Changements majeurs" + +#: 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 +msgid "Bug Fixes" +msgstr "Corrections de bugs" + +#: 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 +msgid "Other" +msgstr "Autre" + +#: 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 +msgid "SHA256 Checksums:" +msgstr "Sommes de contrôle SHA256 :" + +#: 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 "" +"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." +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." +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26 +msgid "" +"SSU: Fix several problems in our UDP transport, to improve efficiency and" +" reliability for connection setup. Also improve defenses against various " +"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 "" +"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." +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 "" +"Fix various issues affecting memory usage and performance on high-" +"bandwidth routers" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35 +msgid "Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36 +msgid "Fix i2psnark bug that prevented a completion announcement to the tracker" +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 +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 "Release 0.9.3" + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7 +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9 +msgid "" +"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 "" + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26 +msgid "Active Queue Management" +msgstr "Gestion de la file d'attente active" + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27 +msgid "Priority queues" +msgstr "Priorités files d'attente" + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28 +msgid "I2PSnark DHT: Several bug fixes, enable by default." +msgstr "I2PSnark DHT : plusieurs corrections de bugs, activée par défaut." + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32 +msgid "" +"Several SSU fixes including memory leak, and better handling of routers " +"behind firewalls that change UDP ports; additional defenses for malicious" +" packets." +msgstr "" +"Plusieurs corrections dans SSU incluant fuite de mémoire, et une " +"meilleure gestion des routeurs derrière les pare-feux qui changent les " +"ports UDP; défenses supplémentaires contre les paquets malveillants." + +#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33 +msgid "Fix piece selection (rarest-first) bugs in i2psnark" +msgstr "Résolu bugs sélection de tronçons (le plus rare le premier) dans i2psnark" + +#: 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 "Amélioration de la mise en cache" + +#: 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 "" +"Fix streaming connection timeout back to 1 minute, was inadvertently " +"changed to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was" +" unlimited" +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 "" + +#: 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 "" + +#: 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 "Release 0.9.4" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7 +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9 +msgid "" +"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." +msgstr "" +"0.9.4 inclue un correctif pour un bug de capacité du réseau, introduit " +"dans la 0.9.2, qui a réduit les performances et la fiabilité du réseau. " +"Il comprend également des changements majeurs dans le système de mise à " +"jour en réseau, et ajoute la possibilité de mettre à jour en réseau via " +"des torrents." + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13 +msgid "" +"We fixed several bugs in the i2psnark DHT implementation that was " +"introduced\n" +"last release. For those of you using console or http proxy passwords,\n" +"we converted to the more-secure digest method and improved the security " +"for console forms." +msgstr "" +"Nous avons corrigé plusieurs bugs dans la mise en œuvre de DHT i2psnark " +"qui ont été introduits ⏎\n" +"depuis la dernière version. Pour ceux d'entre vous qui utilisent la " +"console ou des mots de passe de proxy HTTP, ⏎  nous avons converti à la " +"méthode digest plus sécurisé, et amélioré la sécurité des formulaires de " +"la console." + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19 +msgid "" +"For those of you already running development builds, your router should " +"automatically\n" +"update to 0.9.4-0 using the new in-network torrent facility.\n" +"For those running 0.9.3-0, you will update normally using in-network " +"HTTP, and\n" +"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 "Ajouter de priorités sortantes par destination" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41 +msgid "" +"Fix major bug that reduced SSU connection limits which reduced tunnel " +"build success rates" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42 +msgid "Fix bug with external I2CP that prevented some external apps from working" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43 +msgid "Fixed several bugs in i2psnark DHT" +msgstr "Correction de plusieurs bugs dans i2psnark DHT" + +#: 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 "Reduit l'entête des messages I2CP" + +#: 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 "" +"More performance improvements, memory reduction, and object churn " +"reduction" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54 +msgid "Better detection of network disconnections" +msgstr "Meilleure détection des déconnexions réseau" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55 +msgid "Further improvements in the SSU transport" +msgstr "D'autres améliorations dans le transport SSU" + +#: 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 "" +"Convert http proxy and console from basic to digest authentication for " +"added security" +msgstr "" + +#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58 +msgid "" +"Improved verification of console form submissions, using jsp sessions. " +"Cookies may now be required on forms, except when the console password is" +" enabled" +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 "Augmente le port minimum de port de pair à 1024" + +#: 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 "" +"Translation updates: Chinese, French, German, Italian, Polish, " +"Portuguese, Swedish, and Ukrainian" +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 "Nouveau wrapper ARMv6 pour Raspberry Pi" + +#: 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 "" + +#: i2p2www/pages/blog/index.html:2 +msgid "Blog Index" +msgstr "Index du blog" + +#: i2p2www/pages/blog/index.html:4 i2p2www/pages/site/index.html:75 +msgid "I2P Blog ATOM Feed" +msgstr "" + +#: i2p2www/pages/blog/latest.html:5 +msgid "More blog posts…" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:4 +msgid "Debian I2P Packages" +msgstr "Packages I2P Debian" + +#: i2p2www/pages/downloads/debian.html:6 +#, python-format +msgid "" +"The packages hosted on the I2P Launchpad site\n" +"have been tested and should work on x86/x86_64 platforms running:" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:11 +msgid "Ubuntu (Hardy 8.04 and newer)" +msgstr "Ubuntu (Hardy 8.04 et plus récentes)" + +#: i2p2www/pages/downloads/debian.html:13 +msgid "" +"Debian Linux (Lenny and newer) & kFreeBSD (Wheezy)" +msgstr "" +"Debian Linux (Lenny et plus récentes ) & kFreeBSD (Wheezy)" + +#: i2p2www/pages/downloads/debian.html:21 +#, python-format +msgid "" +"The I2P packages may work on systems not listed above. Please " +"report any issues\n" +"with these packages on Trac at\n" +"http://%(trac)s." +msgstr "" +"Les paquetages I2P peuvent fonctionner sur des systèmes non " +"listés ci-dessus . Veuillez rapporter tous problèmes⏎\n" +"avec ces paquetages surTrac à⏎\n" +"http://%(trac)s." + +#: i2p2www/pages/downloads/debian.html:27 +msgid "" +"Option 1: Recent versions of Ubuntu and its " +"derivatives (Try this if you're not using Debian)" +msgstr "" +"Option 1: Versions récentes de Ubuntu et ses " +"dérivées (Essayez ceci si vous n'utilisez pas Debian)" + +#: i2p2www/pages/downloads/debian.html:28 +msgid "" +"Option 2: Debian (including systems based on " +"Debian and older versions of Ubuntu)" +msgstr "" +"Option 2: Debian (incluant les systèmes basés sur" +" Debian et versions d'Ubuntu plus anciennes)" + +#: i2p2www/pages/downloads/debian.html:29 +msgid "" +"Option 3: Non-Linux (and possibly Non-x86 " +"architectures)" +msgstr "" +"Option 3: Non-Linux (et probablement les " +"architectures Non-x86)" + +#: i2p2www/pages/downloads/debian.html:32 +msgid "" +"Instructions for Ubuntu Lucid Lynx (and newer) and derivatives like Linux" +" Mint & Trisquel" +msgstr "" +"Instructions pour Ubuntu Lucid Lynx (et plus récentes) et dérivées telles" +" que Linux Mint & Trisquel" + +#: i2p2www/pages/downloads/debian.html:33 +msgid "Adding the PPA via the command line and installing I2P" +msgstr "Ajouter le PPA via la ligne de commande et installer I2P" + +#: i2p2www/pages/downloads/debian.html:36 +msgid "Open a terminal and enter:" +msgstr "Ouvrir un terminal et entrer :" + +#: i2p2www/pages/downloads/debian.html:38 +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 "" +"Cette commande va ajouter le PPA à /etc/apt/sources.list.d et rapporter " +"la⏎\n" +"clé GPG avec laquelle le dépôt a été signé. La clé GPG assure ⏎\n" +"que les paquetages n'ont pas été altérés depuis leur construction." + +#: i2p2www/pages/downloads/debian.html:45 +msgid "Notify your package manager of the new PPA by entering:" +msgstr "Avertissez votre gestionnaire de paquets de la nouvelle PPA en entrant :" + +#: i2p2www/pages/downloads/debian.html:47 +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 "" +"Cette commande va récupérer la plus récente liste de logiciels de chaque " +"⏎\n" +"déôt qui soit activé sur votre système, y compris le PPA I2P qui ⏎\n" +"a été ajouté avec la commande antérieure." + +#: i2p2www/pages/downloads/debian.html:53 +#: i2p2www/pages/downloads/debian.html:118 +#: i2p2www/pages/downloads/debian.html:141 +msgid "You are now ready to install I2P!" +msgstr "Vous êtes maintenant prêt à installer I2P !" + +#: i2p2www/pages/downloads/debian.html:57 +msgid "Adding the PPA Using Synaptic" +msgstr "Ajouter le PPA en utilisant Synaptic" + +#: i2p2www/pages/downloads/debian.html:60 +msgid "" +"Open Synaptic (System -> Administration -> Synaptic Package " +"Manager)." +msgstr "" +"Ouvrir Synaptic (System -> Administration -> Synaptic Package " +"Manager)." + +#: i2p2www/pages/downloads/debian.html:65 +msgid "" +"Once Synaptic opens, select Repositories from the " +"Settings menu." +msgstr "" +"Une fois Synaptic ouvert, sélectionnez Repositories depuis le " +"menu Settings." + +#: i2p2www/pages/downloads/debian.html:70 +msgid "" +"Click the Other Sources tab and click Add. Paste " +"ppa:i2p-maintainers/i2p into the APT-line field and click " +"Add Source. Click the Close button then " +"Reload." +msgstr "" +"Cliquer l'onglet Autres sources et cliquez Ajouter. " +"Coller ppa:i2p-maintainers/i2p dans le champ ligne-APT et " +"cliquez Ajouter source. Cliquez le bouton Fermer puis " +"Recharger." + +#: i2p2www/pages/downloads/debian.html:75 +msgid "" +"In the Quick Filter box, type in i2p and press enter. When " +"i2p is returned in the results list, right click " +"i2p and select Mark for Installation. After doing " +"so you may see a Mark additional required changes? popup. If so," +" click Mark then Apply." +msgstr "" +"Dans la boîte \"filtre rapide\", tapez i2p et pressez " +"entrée. Quand i2p est retournée dans la liste des résultats," +" faites un clic droit sur i2p et sélectionneez Marquer " +"pour installation. Après avoir fait cela vous devirez voir un popup " +"Marquer les changements additionnels requis ?. Si c'est le cas, " +"cliquez Marquer puis Appliquer." + +#: i2p2www/pages/downloads/debian.html:81 +msgid "" +"After the installation process completes you can move on to the next\n" +"part of starting I2P and configuring " +"it for your system." +msgstr "" +"Après que le processus d'installation soit terminé, vous pouvez passer à " +"la prochaine ⏎\n" +"partie de démarrer I2P et le " +"configurer pour votre système." + +#: i2p2www/pages/downloads/debian.html:86 +msgid "Instructions for Debian Lenny and newer" +msgstr "Instructions pour Debian Lenny et plus récentes" + +#: i2p2www/pages/downloads/debian.html:88 +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 "" +"Les étapes suivantes doivent être effectuées avec un accès root (ex: " +"commuter⏎ \n" +"de utilisateur vers root avec \"su\", ou en faisant précéder chaque " +"commande par \"sudo\")." + +#: i2p2www/pages/downloads/debian.html:94 +msgid "Add the GPG key that signs the repository with the following command:" +msgstr "Ajoutez la clé GPG qui signe le référentiel avec la commande suivante :" + +#: i2p2www/pages/downloads/debian.html:96 +msgid "You'll have output like the following if the command was successful:" +msgstr "Si la commande a réussi, vous aurez une sortie comme celle-ci :" + +#: i2p2www/pages/downloads/debian.html:100 +msgid "" +"For Debian Oldstable (Lenny) and Stable (Squeeze): Add the following " +"entries to /etc/apt/sources.list.d/i2p.list" +msgstr "" +"Pour Debian Oldstable (Lenny) et Stable (Squeeze) : ajoutez les entrées " +"suivantes à /etc/apt/sources.list.d/i2p.list" + +#: i2p2www/pages/downloads/debian.html:104 +msgid "For Debian Testing (Wheezy) or Unstable (Sid), use the following:" +msgstr "Pour Debian Testing (Wheezy) ou instable (Sid), utilisez ce qui suit :" + +#: i2p2www/pages/downloads/debian.html:109 +msgid "Notify your package manager of the new PPA by entering" +msgstr "Avertissez votre gestionnaire de paquets de la nouvelle PPA en entrant" + +#: i2p2www/pages/downloads/debian.html:111 +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 "" +"Cette commande va récupérer la dernière liste de logiciels depuis chaque " +"⏎\n" +"dépôt activé sur votre système, y compris le PPA I2P ajouté à l'étape ⏎ \n" +"1." + +#: i2p2www/pages/downloads/debian.html:122 +#: i2p2www/pages/downloads/debian.html:151 +msgid "" +"After the installation process completes you can move on to the next part" +" of starting I2P and configuring it " +"for your system." +msgstr "" +"Après la procédure d'installation terminée, vous pouvez passer à la " +"partie suivante de démarrer I2P et " +"le configurer pour votre système." + +#: i2p2www/pages/downloads/debian.html:126 +msgid "Instructions for Non-Linux / Non-x86" +msgstr "Instructions pour non-Linux / non-x86" + +#: i2p2www/pages/downloads/debian.html:128 +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 "" + +#: i2p2www/pages/downloads/debian.html:134 +msgid "" +"Download the i2p-router package from the" +" PPA." +msgstr "" +"Téléchargez le paquetage i2p-router depuis le PPA." + +#: i2p2www/pages/downloads/debian.html:139 +msgid "" +"Make sure that you have Java installed. Running apt-get install" +" default-jre should be sufficient." +msgstr "" +"Assurez-vous que vous avez Java d'installé. Lancer apt-get " +"install default-jre devrait être suffisant." + +#: i2p2www/pages/downloads/debian.html:145 +#, python-format +msgid "" +"It is recommended to compile jbigi for your " +"system to achieve better performance. Instructions are available here." +msgstr "" + +#: i2p2www/pages/downloads/debian.html:155 +#: i2p2www/pages/downloads/list.html:165 +msgid "Post-install work" +msgstr "Travail post-installation" + +#: i2p2www/pages/downloads/debian.html:158 +msgid "" +"Using these I2P packages the I2P router can be started in the following\n" +"three ways:" +msgstr "" +"En utilisant ces paquetages I2P, le routeur I2P peut être lancé⏎\n" +"des trois façons suivantes :" + +#: i2p2www/pages/downloads/debian.html:164 +msgid "" +""on demand" using the i2prouter script. Simply run " +""i2prouter\n" +"start" from a command prompt. (Note: Do " +"not use\n" +"sudo or run it as root!)" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:171 +msgid "" +""on demand" without the java service wrapper\n" +"(needed on non-Linux/non-x86 systems) by running \"i2prouter-" +"nowrapper\".\n" +"(Note: Do not\n" +"use sudo or run it as root!)" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:179 +msgid "" +"as a service that automatically runs when your system boots, even\n" +"before logging in. The service can be enabled with \"dpkg-" +"reconfigure\n" +"i2p\" as root or using sudo. This is the recommended means of " +"operation." +msgstr "" + +#: i2p2www/pages/downloads/debian.html:187 +msgid "" +"When installing for the first time, please remember to adjust your " +"NAT/firewall\n" +"if you can. The ports to forward can be found on the \n" +"network configuration page in the router console. If guidance with " +"respect to forwarding ports is needed,\n" +"you may find portforward.com to be" +" helpful." +msgstr "" + +#: i2p2www/pages/downloads/debian.html:194 +msgid "" +"Please review and adjust the bandwidth settings on the\n" +"configuration page,\n" +"as the default settings of 96 KB/s down / 40 KB/s up are fairly " +"conservative." +msgstr "" + +#: i2p2www/pages/downloads/debian.html:200 +#: i2p2www/pages/downloads/list.html:198 +#, python-format +msgid "" +"If you want to reach eepsites via your browser, have a look on the browser proxy setup page for an easy " +"howto." +msgstr "" + +#: i2p2www/pages/downloads/list.html:2 i2p2www/pages/downloads/select.html:12 +#: i2p2www/pages/global/nav.html:3 +msgid "Download" +msgstr "Télécharger" + +#: i2p2www/pages/downloads/list.html:4 +msgid "Download I2P" +msgstr "Télécharger I2P" + +#: i2p2www/pages/downloads/list.html:6 +msgid "Dependency" +msgstr "Dépendance" + +#: i2p2www/pages/downloads/list.html:7 +#, python-format +msgid "" +"\n" +"Java Runtime 1.5 or higher.\n" +"(Oracle/Sun Java Version 6,\n" +"OpenJDK 6, or\n" +"IcedTea6\n" +" recommended)\n" +"
    \n" +"Determine" +" your installed Java version here\n" +"or type java -version at your command prompt.\n" +msgstr "" + +#: i2p2www/pages/downloads/list.html:20 +msgid "Clean installs" +msgstr "Installations propres" + +#: i2p2www/pages/downloads/list.html:34 +msgid "Download that file and run it." +msgstr "Télécharger ce fichier et l'exécuter." + +#: i2p2www/pages/downloads/list.html:51 +msgid "" +"Download that file and double-click it (if that works) or\n" +" type java -jar i2pinstall_0.9.4-1_osx.jar in a terminal " +"to run the\n" +" installer.\n" +" You may be able to right-click and select\n" +" "Open with Java"." +msgstr "" +"Télécharger ce fichier et double cliquer (si cela marche) ou⏎\n" +"taper java -jar i2pinstall_0.9.4-1_osx.jar dans un terminal " +"ou⏎\n" +"lancer l'installeur.⏎\n" +"Il se pourrait que vous puissez faire un clic droit et sélectionner⏎\n" +" "Ouvrir avec Java"." + +#: i2p2www/pages/downloads/list.html:59 +#, python-format +msgid "" +"Due to a wrapper bug, the 0.9.4 installer\n" +" will NOT work on OS X. Use the fixed 0.9.4-1 OSX installer " +"above." +msgstr "" + +#: i2p2www/pages/downloads/list.html:65 i2p2www/pages/downloads/list.html:92 +msgid "Command line (headless) install:" +msgstr "" + +#: i2p2www/pages/downloads/list.html:66 +msgid "" +"Download the 0.9.4-1 OSX graphical installer file above and\n" +" run java -jar i2pinstall_0.9.4-1_osx.jar -console from " +"the command line." +msgstr "" + +#: i2p2www/pages/downloads/list.html:84 +#, python-format +msgid "" +"Download that file and double-click it (if that works) or\n" +" type java -jar i2pinstall_%(i2pversion)s.jar in a " +"terminal to run the\n" +" installer.\n" +" On some platforms you may be able to right-click and select\n" +" "Open with Java"." +msgstr "" + +#: i2p2www/pages/downloads/list.html:93 +#, python-format +msgid "" +"Download the graphical installer file above and\n" +" run java -jar i2pinstall_%(i2pversion)s.jar -console " +"from the command line." +msgstr "" + +#: i2p2www/pages/downloads/list.html:103 +msgid "Packages for Debian & Ubuntu are available." +msgstr "" + +#: i2p2www/pages/downloads/list.html:118 +#, python-format +msgid "" +"The Android version of I2P is being actively developed.\n" +" The latest dev build is version 0.9.3-5_b2-API8, and is available " +"from\n" +" sponge's eepsite -\n" +" scan or click the QR code." +msgstr "" + +#: i2p2www/pages/downloads/list.html:125 +msgid "" +"The release and dev versions of the I2P APK are not compatible, as they\n" +" are signed by zzz and sponge respectively. Uninstall one before " +"installing\n" +" the other." +msgstr "" + +#: i2p2www/pages/downloads/list.html:135 +msgid "Source package" +msgstr "À partir des sources:" + +#: i2p2www/pages/downloads/list.html:145 +#, python-format +msgid "" +"Alternately, you can fetch the source from monotone.\n" +"
    \n" +" Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " +"i2p-%(i2pversion)s ; ant pkg) then either\n" +" run the GUI installer or headless install as above." +msgstr "" + +#: i2p2www/pages/downloads/list.html:156 +#, python-format +msgid "" +"The files are signed by zzz,\n" +"whose key is here." +msgstr "" + +#: i2p2www/pages/downloads/list.html:161 +msgid "" +"I2P can also be downloaded from our project pages on Launchpad and Google Code." +msgstr "" + +#: i2p2www/pages/downloads/list.html:167 +msgid "" +"After running the installer on windows, simply click on the \"Start I2P\"" +" button\n" +"which will bring up the router console,\n" +"which has further instructions." +msgstr "" + +#: i2p2www/pages/downloads/list.html:173 +msgid "" +"On Unix-like systems, I2P can be started as a service\n" +"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 router console\n" +"can be accessed at its usual location.\n" +"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 "" + +#: i2p2www/pages/downloads/list.html:184 +#, python-format +msgid "" +"When installing for the first time, please remember to adjust your " +"NAT/firewall\n" +"if you can, bearing in mind the Internet-facing ports I2P uses,\n" +"described here among other ports.\n" +"If you have successfully opened your port to inbound TCP, also enable " +"inbound TCP on the\n" +"configuration page." +msgstr "" + +#: i2p2www/pages/downloads/list.html:192 +msgid "" +"Also, please review and adjust the bandwidth settings on the\n" +"configuration page,\n" +"as the default settings of 96 KBps down / 40 KBps up are fairly slow." +msgstr "" + +#: i2p2www/pages/downloads/list.html:202 +msgid "Updates from earlier releases:" +msgstr "" + +#: i2p2www/pages/downloads/list.html:204 +msgid "Both automatic and manual upgrades are available for the release." +msgstr "" + +#: i2p2www/pages/downloads/list.html:209 +msgid "Automatic updates" +msgstr "Mises à jour automatiques" + +#: i2p2www/pages/downloads/list.html:211 +msgid "" +"If you are running 0.7.5 or later, your router should detect the\n" +"new release. To upgrade simply click the 'Download Update' button on your" +" router console\n" +"when it appears." +msgstr "" + +#: i2p2www/pages/downloads/list.html:217 +msgid "" +"Due to a bug in release 0.7.6, those whose first I2P installation was " +"that version\n" +"and have not upgraded manually\n" +"may get a \"downloaded version is not greater than current version\" " +"error,\n" +"and should use the manual update method below." +msgstr "" + +#: i2p2www/pages/downloads/list.html:225 +#, python-format +msgid "" +"If you are running 0.7.4 or earlier, please see\n" +"the 0.7.5 release notes\n" +"for important information about how to configure your router to " +"automatically\n" +"receive the release." +msgstr "" + +#: i2p2www/pages/downloads/list.html:233 +#, python-format +msgid "" +"If you are running 0.6.1.30 or earlier, please see\n" +"instructions\n" +"for important information about how to configure your router to " +"automatically\n" +"receive the release." +msgstr "" + +#: i2p2www/pages/downloads/list.html:242 +#, python-format +msgid "" +"If you have reconfigured your router following the instructions, you should see a link on your" +" \n" +" router console " +"allowing\n" +" you to download and install the new release by just clicking on that\n" +" link." +msgstr "" + +#: i2p2www/pages/downloads/list.html:250 +msgid "Alternately, you can use the manual method specified below." +msgstr "" + +#: i2p2www/pages/downloads/list.html:260 +msgid "Manual updates" +msgstr "Mises à jour manuelles" + +#: i2p2www/pages/downloads/list.html:272 +msgid "" +"Download that file to your I2P\n" +" installation directory and rename as i2pupdate.zip.\n" +" (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 "" + +#: i2p2www/pages/downloads/list.html:281 +msgid "Click \"Restart\"" +msgstr "" + +#: i2p2www/pages/downloads/list.html:286 +msgid "Grab a cup of coffee and come back in 11 minutes" +msgstr "" + +#: i2p2www/pages/downloads/list.html:294 +#, python-format +msgid "" +"The file is signed by zzz,\n" +"whose key is here." +msgstr "" + +#: i2p2www/pages/downloads/list.html:299 +msgid "Previous Releases" +msgstr "Précédentes releases" + +#: i2p2www/pages/downloads/list.html:301 +#, python-format +msgid "" +"Previous releases are available on Google " +"Code\n" +"and Launchpad\n" +"and within the I2P network on %(echelon)s." +msgstr "" + +#: i2p2www/pages/downloads/select.html:2 i2p2www/pages/downloads/select.html:4 +msgid "Mirror selection" +msgstr "Sélection de miroir" + +#: i2p2www/pages/downloads/select.html:5 +msgid "File:" +msgstr "Fichier:" + +#: i2p2www/pages/downloads/select.html:10 +msgid "Any mirror" +msgstr "N'importe quel miroir" + +#: 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" +"you think these are important? Add in your " +"donation, \n" +"marking the amount for the %(donatename)s bounty!" +msgstr "" + +#: i2p2www/pages/global/error_404.html:3 +msgid "Not found" +msgstr "Pas trouvé" + +#: i2p2www/pages/global/error_404.html:9 +msgid "" +"Yep... the resource, you were searching for, is named differently, " +"doesn't exist or was removed." +msgstr "" +"Oui... la ressource que vous cherchiez, est nommée différemment, n'existe" +" pas, ou a été supprimée." + +#: i2p2www/pages/global/error_500.html:5 +msgid "Server error" +msgstr "Erreur serveur" + +#: i2p2www/pages/global/error_500.html:13 +msgid "500 Server error" +msgstr "Erreur serveur n°500" + +#: i2p2www/pages/global/error_500.html:17 +msgid "Umm... the server encountered some sort of error." +msgstr "Hum... le serveur a rencontré une sorte d'erreur." + +#: i2p2www/pages/global/footer.html:2 +msgid "Mirrors" +msgstr "Miroirs" + +#: i2p2www/pages/global/footer.html:10 +msgid "Secure" +msgstr "Sécurisé" + +#: i2p2www/pages/global/footer.html:16 +msgid "Misc." +msgstr "Divers." + +#: i2p2www/pages/global/footer.html:19 i2p2www/pages/site/links.html:2 +msgid "Links" +msgstr "Liens" + +#: i2p2www/pages/global/footer.html:20 +msgid "Impressum" +msgstr "Impressum" + +#: i2p2www/pages/global/footer.html:24 +msgid "T-Shirts!" +msgstr "T-Shirts!" + +#: i2p2www/pages/global/footer.html:26 +msgid "Europe" +msgstr "Europe" + +#: i2p2www/pages/global/footer.html:27 +msgid "USA" +msgstr "USA" + +#: 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 "Faire un don" + +#: i2p2www/pages/global/layout.html:28 +msgid "Skip navigation" +msgstr "Passer la navigation" + +#: i2p2www/pages/global/layout.html:31 +msgid "I2P Logo" +msgstr "Logo I2P" + +#: i2p2www/pages/global/layout.html:31 i2p2www/pages/site/index.html:3 +#: i2p2www/pages/site/about/intro.html:4 +msgid "The Invisible Internet Project" +msgstr "The Invisible Internet Project (le projet internet invisible)" + +#: i2p2www/pages/global/layout.html:55 +#, python-format +msgid "" +"This page was last updated in %(lastupdated)s and is accurate for router " +"version %(accuratefor)s." +msgstr "" +"Cette page a été mise à jour en %(lastupdated)s et est correcte pour la " +"version de routeur %(accuratefor)s." + +#: i2p2www/pages/global/layout.html:59 +#, python-format +msgid "This page was last updated in %(lastupdated)s." +msgstr "Cette page a étée mise à jour dernièrement en %(lastupdated)s." + +#: i2p2www/pages/global/layout.html:63 +#, python-format +msgid "This page is accurate for router version %(accuratefor)s." +msgstr "Cette page est à jour pour la version de routeur %(accuratefor)s." + +#: i2p2www/pages/global/nav.html:4 +msgid "About" +msgstr "A propos" + +#: i2p2www/pages/global/nav.html:6 +msgid "Introduction to I2P" +msgstr "Introduction à I2P" + +#: i2p2www/pages/global/nav.html:7 +msgid "Comparisons" +msgstr "Comparaisons" + +#: i2p2www/pages/global/nav.html:9 +msgid "Overview of comparisons" +msgstr "Vue d'ensemble des comparaisons" + +#: i2p2www/pages/global/nav.html:13 +msgid "Other anonymous networks" +msgstr "Autres réseaux anonymes" + +#: i2p2www/pages/global/nav.html:16 +#: i2p2www/pages/site/get-involved/index.html:29 +msgid "Documentation" +msgstr "Documentation" + +#: i2p2www/pages/global/nav.html:18 +msgid "Documentation index" +msgstr "Index documentation" + +#: i2p2www/pages/global/nav.html:19 i2p2www/pages/site/about/intro.html:17 +msgid "How does it work?" +msgstr "Comment ça marche ?" + +#: i2p2www/pages/global/nav.html:21 +msgid "Gentle intro" +msgstr "Intro douce" + +#: i2p2www/pages/global/nav.html:22 +msgid "Tech intro" +msgstr "Intro technique" + +#: i2p2www/pages/global/nav.html:23 +msgid "Threat model" +msgstr "Modèle de menace" + +#: i2p2www/pages/global/nav.html:24 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:292 +msgid "Garlic routing" +msgstr "Routage en oignon" + +#: i2p2www/pages/global/nav.html:25 +msgid "Network database" +msgstr "Base de données réseau" + +#: i2p2www/pages/global/nav.html:26 +msgid "Tunnel routing" +msgstr "Routage tunnel" + +#: i2p2www/pages/global/nav.html:27 +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:21 +msgid "Peer selection" +msgstr "Sélection de pair" + +#: i2p2www/pages/global/nav.html:28 +#: i2p2www/pages/site/docs/how/tech-intro.html:17 +#: i2p2www/pages/site/docs/how/tech-intro.html:458 +msgid "Cryptography" +msgstr "Cryptographie" + +#: i2p2www/pages/global/nav.html:29 +msgid "ElGamal/AES+SessionTags" +msgstr "ElGamal/AES+SessionTags" + +#: i2p2www/pages/global/nav.html:32 i2p2www/pages/global/nav.html:115 +#: i2p2www/pages/site/docs/spec/configuration.html:75 +#: i2p2www/pages/site/get-involved/index.html:48 +msgid "Applications" +msgstr "Applications" + +#: i2p2www/pages/global/nav.html:34 +msgid "Supported applications" +msgstr "Applications supportées" + +#: i2p2www/pages/global/nav.html:35 +msgid "Bittorrent" +msgstr "Bittorrent" + +#: i2p2www/pages/global/nav.html:38 +#: i2p2www/pages/site/docs/api/streaming.html:58 +msgid "API" +msgstr "API" + +#: i2p2www/pages/global/nav.html:46 i2p2www/pages/global/nav.html:76 +#: i2p2www/pages/site/docs/how/tech-intro.html:808 +msgid "Streaming library" +msgstr "Librarie streaming" + +#: i2p2www/pages/global/nav.html:47 +msgid "Ministreaming library" +msgstr "Librarie ministreaming" + +#: i2p2www/pages/global/nav.html:48 i2p2www/pages/global/nav.html:71 +#: i2p2www/pages/site/docs/index.html:87 +#: i2p2www/pages/site/docs/api/datagrams.html:2 +#: i2p2www/pages/site/get-involved/develop/applications.html:250 +msgid "Datagrams" +msgstr "Datagrammes" + +#: i2p2www/pages/global/nav.html:52 +msgid "Protocols" +msgstr "Protocoles" + +#: i2p2www/pages/global/nav.html:54 +msgid "Protocol stack" +msgstr "La pile de protocole" + +#: i2p2www/pages/global/nav.html:59 +#: i2p2www/pages/site/docs/how/cryptography.html:394 +msgid "Transports" +msgstr "Transports" + +#: i2p2www/pages/global/nav.html:61 i2p2www/pages/site/docs/index.html:157 +msgid "Transport layer overview" +msgstr "Aperçu couche transport" + +#: i2p2www/pages/global/nav.html:66 +msgid "Specifications" +msgstr "Spécifications" + +#: i2p2www/pages/global/nav.html:68 +msgid "Blockfile" +msgstr "" + +#: i2p2www/pages/global/nav.html:69 +msgid "Common structures" +msgstr "Structures communes" + +#: i2p2www/pages/global/nav.html:70 +msgid "Configuration files" +msgstr "Fichiers de configuration" + +#: i2p2www/pages/global/nav.html:74 i2p2www/pages/global/nav.html:90 +#: i2p2www/pages/site/docs/plugins.html:2 +#: i2p2www/pages/site/docs/spec/configuration.html:65 +msgid "Plugins" +msgstr "Plugins" + +#: i2p2www/pages/global/nav.html:77 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:230 +msgid "Tunnel creation" +msgstr "Création de tunnel" + +#: i2p2www/pages/global/nav.html:78 +msgid "Tunnel messages" +msgstr "Messages tunnel " + +#: i2p2www/pages/global/nav.html:79 +msgid "Software updates" +msgstr "Mises à jour logicielles" + +#: i2p2www/pages/global/nav.html:82 i2p2www/pages/site/docs/index.html:138 +#: i2p2www/pages/site/docs/how/tech-intro.html:14 +#: i2p2www/pages/site/docs/how/tech-intro.html:228 +msgid "Tunnels" +msgstr "Tunnels" + +#: i2p2www/pages/global/nav.html:84 +msgid "Tunnel implementation" +msgstr "Implémentation tunnel" + +#: i2p2www/pages/global/nav.html:85 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:288 +msgid "Unidirectional tunnels" +msgstr "Tunnels unidirectionels" + +#: i2p2www/pages/global/nav.html:86 +msgid "Old implementation" +msgstr "Ancienne implémentation" + +#: i2p2www/pages/global/nav.html:89 +msgid "Naming and addressbook" +msgstr "Nomination et carnet d'adresses" + +#: i2p2www/pages/global/nav.html:93 i2p2www/pages/site/about/team.html:2 +msgid "Team" +msgstr "Équipe" + +#: i2p2www/pages/global/nav.html:94 +msgid "Blog" +msgstr "Blog" + +#: i2p2www/pages/global/nav.html:95 +msgid "Hall of Fame" +msgstr "Temple de la renommée (hall of fame)" + +#: i2p2www/pages/global/nav.html:96 +msgid "Academic papers and peer review" +msgstr "Documents universitaires et examen par des pairs" + +#: i2p2www/pages/global/nav.html:97 +msgid "Presentations, tutorials and articles" +msgstr "Présentations, tutoriels et articles" + +#: i2p2www/pages/global/nav.html:98 +msgid "Contact us" +msgstr "Contactez-nous" + +#: i2p2www/pages/global/nav.html:101 +msgid "Help" +msgstr "Aide" + +#: i2p2www/pages/global/nav.html:103 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:169 +msgid "FAQ" +msgstr "FAQ" + +#: i2p2www/pages/global/nav.html:104 +msgid "How to browse I2P" +msgstr "Comment naviguer sur I2P" + +#: i2p2www/pages/global/nav.html:105 i2p2www/pages/site/about/glossary.html:2 +msgid "Glossary" +msgstr "Glossaire" + +#: i2p2www/pages/global/nav.html:106 +#: i2p2www/pages/site/about/performance/index.html:2 +#: i2p2www/pages/site/docs/index.html:182 +#: i2p2www/pages/site/get-involved/todo.html:52 +#: i2p2www/pages/site/get-involved/todo.html:456 +msgid "Performance" +msgstr "Performance" + +#: i2p2www/pages/global/nav.html:107 i2p2www/pages/site/contact.html:22 +msgid "Forums" +msgstr "Forums" + +#: i2p2www/pages/global/nav.html:110 +msgid "Volunteer" +msgstr "Volontaire" + +#: i2p2www/pages/global/nav.html:112 +msgid "Get involved!" +msgstr "Impliquez-vous !" + +#: i2p2www/pages/global/nav.html:113 +msgid "Develop" +msgstr "Développer" + +#: i2p2www/pages/global/nav.html:116 +#: i2p2www/pages/site/get-involved/develop/licenses.html:2 +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115 +msgid "Licenses" +msgstr "Licenses" + +#: i2p2www/pages/global/nav.html:117 +msgid "Release signing keys" +msgstr "Relâcher clés de signature" + +#: i2p2www/pages/global/nav.html:118 +msgid "Signed keys" +msgstr "Clés signées" + +#: i2p2www/pages/global/nav.html:119 +msgid "Developers keys" +msgstr "Clés des développeurs" + +#: i2p2www/pages/global/nav.html:120 i2p2www/pages/site/docs/index.html:220 +msgid "Bug tracker" +msgstr "Traqueur de bugs" + +#: i2p2www/pages/global/nav.html:123 +msgid "Academic research" +msgstr "Recherche universitaire" + +#: i2p2www/pages/global/nav.html:124 +msgid "Guides" +msgstr "Guides" + +#: i2p2www/pages/global/nav.html:126 +msgid "New developers" +msgstr "Nouveaux développeurs" + +#: i2p2www/pages/global/nav.html:127 +#: i2p2www/pages/site/get-involved/guides/ides.html:2 +msgid "Using an IDE with I2P" +msgstr "Utiliser un IDE avec I2P" + +#: i2p2www/pages/global/nav.html:128 +msgid "Developer guidelines and coding style" +msgstr "Guide du développeur et style de programmation" + +#: i2p2www/pages/global/nav.html:129 +#: i2p2www/pages/site/get-involved/guides/monotone.html:2 +msgid "Monotone" +msgstr "Monotone" + +#: i2p2www/pages/global/nav.html:130 +msgid "New translators" +msgstr "Nouveaux traducteurs" + +#: i2p2www/pages/global/nav.html:133 +#: i2p2www/pages/site/get-involved/bounties/index.html:2 +msgid "Bounties" +msgstr "Projets récompensés (bounties)" + +#: i2p2www/pages/global/nav.html:134 i2p2www/pages/meetings/index.html:2 +msgid "Meetings" +msgstr "Meetings" + +#: i2p2www/pages/global/nav.html:135 +#: i2p2www/pages/site/get-involved/roadmap.html:2 +msgid "Roadmap" +msgstr "Feuille de route (roadmap)" + +#: i2p2www/pages/global/nav.html:136 +msgid "Task list" +msgstr "Liste de tâches" + +#: i2p2www/pages/global/nav.html:139 +msgid "Language" +msgstr "Langue" + +#: i2p2www/pages/meetings/index.html:4 +msgid "I2P Meetings ATOM Feed" +msgstr "Flux ATOM des meetings I2P" + +#: i2p2www/pages/meetings/index.html:7 +msgid "Logs of past I2P meetings" +msgstr "Logs des meetings I2P précédents" + +#: i2p2www/pages/meetings/index.html:9 +#, python-format +msgid "" +"If you have something to discuss, please find the developers on IRC in " +"#i2p-dev.\n" +"Status updates from developers are also " +"available." +msgstr "" +"Si vous avez quelque chose à discuter, s'il vous plaît trouver les " +"développeurs sur IRC dans #I2P-dev. ⏎ Status " +"updates dans lequel des développeurs sont également disponibles." + +#: i2p2www/pages/site/contact.html:2 +msgid "Contact" +msgstr "Contac" + +#: i2p2www/pages/site/contact.html:5 +msgid "" +"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 OFTC,\n" +" EIN and Freenode.\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 "Liste canal :" + +#: i2p2www/pages/site/contact.html:15 +msgid "General i2p discussion" +msgstr "Discussion i2p générale" + +#: i2p2www/pages/site/contact.html:16 +msgid "Offtopic" +msgstr "Hors sujet" + +#: i2p2www/pages/site/contact.html:17 +msgid "Development talk" +msgstr "Discussion développement" + +#: i2p2www/pages/site/contact.html:18 +msgid "Help channel" +msgstr "Canal d'aide" + +#: i2p2www/pages/site/contact.html:23 +#, python-format +msgid "" +"Most of the discussion about I2P's development happens on the I2P developer forum. This is usually the best" +" place to start with inquiries, if the dev IRC channel is inactive." +msgstr "" +"La plupart des discussions sur le développement de I2P se passe sur le I2P developper forum. C'est généralement le " +"meilleur endroit pour commencer avec requêtes, si le canal IRC dev est " +"inactif." + +#: i2p2www/pages/site/contact.html:27 +msgid "Mailing lists" +msgstr "Mailing lists" + +#: i2p2www/pages/site/contact.html:28 +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 "" +"I2P a une liste de diffusion, mais elle est rarement utilisée car " +"l'actuelle petite équipe de développeurs préfèrent communiquer via IRC ou" +" le forum des développeurs. Cela pourrait changer à l'avenir." + +#: i2p2www/pages/site/contact.html:33 +msgid "Subscribing" +msgstr "S'abonner" + +#: i2p2www/pages/site/contact.html:34 +msgid "" +"To subscribe to a mailing list, go to the list information page (linked " +"below) and fill out the form. I2P-internal email addresses " +"(foobar@mail.i2p) can be used." +msgstr "" +"Pour vous abonner à une mailing list, allez à la page d'information de la" +" liste (lien ci-dessous) et remplissez le formulaire. Les adresses e-mail" +" internes à I2P (ex: foobar@mail.i2p) peuvent être utilisées." + +#: i2p2www/pages/site/contact.html:38 +msgid "Unsubscribing" +msgstr "Se désinscrire" + +#: i2p2www/pages/site/contact.html:39 +msgid "" +"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 "" +"Pour vous désabonner d'une mailing list ou modifier vos options " +"d'abonnement, allez à la page d'information de la liste (lien ci-dessous)" +" et entrez votre adresse courriel d'abonnement." + +#: i2p2www/pages/site/contact.html:43 +msgid "Lists" +msgstr "Listes" + +#: i2p2www/pages/site/contact.html:46 +msgid "Archive" +msgstr "Archive" + +#: i2p2www/pages/site/contact.html:47 +msgid "" +"General I2P discussion - anything that doesn't fit in a different list " +"goes here." +msgstr "" +"Discussions générales I2P - tout ce qui ne rentre pas dans une autre " +"liste va ici." + +#: i2p2www/pages/site/contact.html:53 +msgid "" +"You don't like mailing lists? Then this is for you. All mailing lists are" +" available via NNTP as well." +msgstr "" +"Vous n'aimez pas les listes de diffusion? Alors ceci est pour vous. Tous " +"les listes de diffusion sont disponibles via NNTP aussi." + +#: i2p2www/pages/site/contact.html:58 +msgid "Group-List-mapping:" +msgstr "" + +#: i2p2www/pages/site/contact.html:62 +msgid "Servers:" +msgstr "Serveurs:" + +#: i2p2www/pages/site/faq.html:2 +msgid "Frequently Asked Questions" +msgstr "Foire Aux Questions (Frequently Asked Questions)" + +#: i2p2www/pages/site/faq.html:4 +#: i2p2www/pages/site/docs/how/threat-model.html:121 +msgid "Index" +msgstr "Index" + +#: i2p2www/pages/site/faq.html:7 +msgid "General" +msgstr "Général" + +#: i2p2www/pages/site/faq.html:9 i2p2www/pages/site/faq.html:51 +msgid "What systems will I2P run on?" +msgstr "Sur quels systèmes I2P va fonctionner ?" + +#: i2p2www/pages/site/faq.html:10 +msgid "Whats an \"eepsite\" and how do I configure my browser so I can use them?" +msgstr "" +"Qu'est-ce qu'un \"eepsite\" et comment dois-je configurer mon navigateur " +"pour pouvoir les utiliser ?" + +#: i2p2www/pages/site/faq.html:11 i2p2www/pages/site/faq.html:263 +msgid "My router has very few active peers, is this OK?" +msgstr "Mon routeur a très peu de pairs actifs, est-ce OK ?" + +#: 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 "" +"Qu'est-ce que le nombre \"Actifs: x / y\" signifie dans la console du " +"routeur ?" + +#: 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?" +msgstr "" +"Mes pairs actifs / pairs connus / tunnels participants / connexions / " +"bande passante varient considérablement au fil du temps ! Est-ce quelque" +" chose va mal ?" + +#: i2p2www/pages/site/faq.html:14 i2p2www/pages/site/faq.html:348 +msgid "Is using an outproxy safe?" +msgstr "Est-t-il risqué d'utiliser un proxy sortant (outproxy) ?" + +#: i2p2www/pages/site/faq.html:15 i2p2www/pages/site/faq.html:374 +msgid "Most of the eepsites within I2P are down?" +msgstr "La plupart des eepsites dans I2P sont hors d'accès ?" + +#: i2p2www/pages/site/faq.html:16 i2p2www/pages/site/faq.html:527 +msgid "What ports does I2P use?" +msgstr "Quels ports I2P utilise ?" + +#: i2p2www/pages/site/faq.html:17 +msgid "Why is I2P listening for connections on port 32000?" +msgstr "Pourquoi est-ce que I2P écoute des connexions sur le port 32000 ?" + +#: 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 "Je pense avoir trouvé un bug, où puis-je le signaler?" + +#: 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 "" +"Qu'est-il arrivé à *.i2p.net ? Qu'est-il arrivé à jrandom? I2P est-il " +"mort?" + +#: i2p2www/pages/site/faq.html:20 i2p2www/pages/site/faq.html:845 +msgid "I have a question!" +msgstr "J'ai une question !" + +#: i2p2www/pages/site/faq.html:22 +#: i2p2www/pages/site/docs/api/streaming.html:292 +msgid "Setup" +msgstr "Paramétrage" + +#: 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 "" +"Mon routeur est en ligne depuis plusieurs minutes mais a zéro ou très peu" +" de connexions" + +#: i2p2www/pages/site/faq.html:25 i2p2www/pages/site/faq.html:390 +msgid "Why is I2P so slow?" +msgstr "Pourquoi I2P est-il si lent ?" + +#: i2p2www/pages/site/faq.html:26 i2p2www/pages/site/faq.html:79 +msgid "" +"I'm missing lots of hosts in my addressbook. What are some good " +"subscription links?" +msgstr "" +"Il me manque beaucoup d'hôtes dans mon carnet d'adresses. Quels sont les " +"bons liens d'abonnement ?" + +#: i2p2www/pages/site/faq.html:27 i2p2www/pages/site/faq.html:383 +msgid "How do I set up my own eepsite?" +msgstr "Comment puis-je créer mon propre eepsite ?" + +#: i2p2www/pages/site/faq.html:28 i2p2www/pages/site/faq.html:416 +msgid "Bittorrent / I2PSnark / Azureus I2P Plugin Questions?" +msgstr "Questions sur les plugins I2P pour Bittorrent / I2PSnark / Azureus" + +#: i2p2www/pages/site/faq.html:29 i2p2www/pages/site/faq.html:423 +msgid "How do I connect to IRC within I2P?" +msgstr "Comment puis-je me connecter à IRC au sein de I2P ?" + +#: i2p2www/pages/site/faq.html:30 i2p2www/pages/site/faq.html:281 +msgid "I can't access regular Internet sites through I2P." +msgstr "Je ne peux pas accéder à des sites réguliers d'Internet à travers I2P." + +#: i2p2www/pages/site/faq.html:31 i2p2www/pages/site/faq.html:296 +msgid "I can't access https:// or ftp:// sites through I2P." +msgstr "Je ne peux pas accéder à des sites https:// ni ftp:// par I2P." + +#: i2p2www/pages/site/faq.html:32 i2p2www/pages/site/faq.html:506 +msgid "Is it possible to use I2P as a SOCKS proxy?" +msgstr "Est-il possible d'utiliser I2P en tant que proxy SOCKS ?" + +#: i2p2www/pages/site/faq.html:33 i2p2www/pages/site/faq.html:489 +msgid "How do I configure my browser?" +msgstr "Comment dois-je configurer mon navigateur ?" + +#: i2p2www/pages/site/faq.html:34 i2p2www/pages/site/faq.html:434 +msgid "" +"How can I access the web console from my other machines or password " +"protect it?" +msgstr "" +"Comment puis-je accéder à la console Web à partir de mes autres machines," +" ou la protéger par mot de passe ?" + +#: i2p2www/pages/site/faq.html:35 i2p2www/pages/site/faq.html:474 +msgid "How can I use applications from my other machines?" +msgstr "Comment puis-je utiliser des applications depuis mes autres machines?" + +#: i2p2www/pages/site/faq.html:36 i2p2www/pages/site/faq.html:748 +msgid "How do I reseed manually?" +msgstr "Comment puis-je réensemencer (reseed) manuellement ?" + +#: i2p2www/pages/site/faq.html:37 i2p2www/pages/site/faq.html:124 +msgid "My router is using too much CPU?!?" +msgstr "Mon routeur utilise trop de CPU ?!?" + +#: i2p2www/pages/site/faq.html:39 +msgid "Misconception" +msgstr "Méprise" + +#: i2p2www/pages/site/faq.html:41 i2p2www/pages/site/faq.html:366 +msgid "" +"How do I access IRC, BitTorrent, or other services on the regular " +"Internet?" +msgstr "" +"Comment puis-je accéder à IRC, BitTorrent, ou d'autres services sur " +"l'Internet régulier ?" + +#: i2p2www/pages/site/faq.html:42 +msgid "" +"Is my router an \"exit node\"(outproxy) to the regular Internet? I don't " +"want it to be." +msgstr "" +"Est-ce que mon routeur est un \"nœud de sortie\" (outproxy) vers " +"l'Internet régulier ? Je ne veux pas qu'il le soit." + +#: i2p2www/pages/site/faq.html:43 i2p2www/pages/site/faq.html:188 +msgid "" +"I am opposed to certain types of content. How do I keep from " +"distributing, storing, or accessing them?" +msgstr "" +"Je suis opposé à certains types de contenus. Comment puis-je éviter d'en " +"distribuer, d'en stocker ou d'y accéder ?" + +#: i2p2www/pages/site/faq.html:45 +msgid "Errors and Their Solutions" +msgstr "Erreurs et leurs solutions" + +#: 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 " +"libm.so.4!" +msgstr "" +"J'utilise FreeBSD et quand je lance I2P, je reçois une erreur concernant " +"libm.so.4 !" + +#: i2p2www/pages/site/faq.html:48 +msgid "" +"In wrapper.log I see an error stating Protocol family " +"unavailable when I2P is loading" +msgstr "" +"Dans wrapper.log je vois une erreur communiquant " +"Protocol family unavailable lorsque I2P se lance" + +#: 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 +#: i2p2www/pages/site/faq.html:846 i2p2www/pages/site/get-involved/todo.html:16 +#: i2p2www/pages/site/get-involved/todo.html:28 +#: i2p2www/pages/site/get-involved/todo.html:52 +msgid "link" +msgstr "lien" + +#: i2p2www/pages/site/faq.html:53 +#, python-format +msgid "" +"While I2P has been reported to run PCs as meagre as a low-end Pentium II " +"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 chart comparing the performance of" +" the various JREs can be found at http://%(trac)s/wiki/java, but in " +"short: it's at all possible, use Sun/Oracle Java or OpenJDK." +msgstr "" +"Bien qu'il ai été rapporté que I2P puisse fonctionner sur un maigre PC " +"tel qu'un Pentium II bas de gamme avec 64 Mo de RAM, vous aurez une bien " +"meilleure expérience sur un Pentium III (ou mieux) avec 128 Mo de RAM (ou" +" plus). Un document chart comparing" +" the performance des différents JRE peut être trouvé à l'adresse http://%(trac)s/wiki/java, mais en" +" bref : c'est possible, utiliser le Java de Sun/Oracle ou OpenJDK." + +#: i2p2www/pages/site/faq.html:57 +msgid "" +"I2P has been tested on Windows, Linux, FreeBSD (see the note below), OSX, and OpenSolaris. There is work " +"underway to bring I2P to the Android platform." +msgstr "" +"I2P a été testé sur Windows, Linux, FreeBSD (voir la note ci-dessous), OSX, et OpenSolaris. Il ya des " +"travaux en cours pour porter I2P sur la plate-forme Android." + +#: i2p2www/pages/site/faq.html:65 +msgid "Here are some places, pick one or more." +msgstr "Voici quelques endroits, choisissez un ou plusieurs." + +#: i2p2www/pages/site/faq.html:71 +msgid "Discuss with the developers on IRC in #i2p-dev" +msgstr "Discutez avec les développeurs sur IRC dans #I2P-dev" + +#: i2p2www/pages/site/faq.html:75 +msgid "Please include relevant information from the router logs and wrapper logs." +msgstr "" +"S'il vous plaît inclure des informations pertinentes à partir des " +"journaux de routage (router logs) et les journaux d'encapsulation " +"(wrapper logs)." + +#: i2p2www/pages/site/faq.html:81 +msgid "" +"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 "" +"L'abonnement par défaut est à http://www.i2p2.i2p/hosts.txt qui est " +"rarement mis à jour.⏎\n" +"Si vous n'avez pas d'autre abonnement, vous risquez d'avoir souvent à " +"utiliser des liens «jump»⏎\n" +"ce qui est ennuyeux." + +#: i2p2www/pages/site/faq.html:87 +msgid "" +"Here are some other public addressbook subscription links. You may wish " +"to add one or two\n" +"to your susidns " +"subscription list.\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" +"The operators of these services may have various policies for listing " +"hosts.\n" +"Presence on this list does not imply endorsement." +msgstr "" +"Voici quelques autres liens d'abonnement du carnet d'adresses publiques. " +"Vous pouvez ajouter un ou deux ⏎ \n" +"à votre liste" +" de souscription susidns. ⏎\n" +"Vous n'avez pas besoin de les ajouter tous, car ils se synchronisent " +"mutuellement à intervalles réguliers. ⏎ \n" +"Les liens utilisant une application cgi-bin emploient diverses stratégies" +" pour réduire ⏎ \n" +"le nombre d'adresses livrées en double, elles doivent donc être plus " +"efficace. ⏎ \n" +"Notez que l'abonnement à un service de hosts.txt est un acte de " +"«confiance», car un ⏎\n" +"abonnement malveillant pourrait vous donner des adresses incorrectes. " +"Alors, pensez-y si vous⏎\n" +"voulez faire confiance à l'un d'eux. ⏎\n" +"Les opérateurs de ces services peuvent avoir diverses politiques de " +"listage des hôtes. ⏎ \n" +"Ëtre présent sur cette listes n'implique pas l'approbation." + +#: i2p2www/pages/site/faq.html:109 +msgid "" +"Jrandom was the lead developer of I2P and\n" +"Syndie 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." +msgstr "" +"Jrandom était le principal développeur de I2P et ⏎\n" +"Syndie durant plusieurs années. ⏎" +"\n" +"Nous ne savons pas si ou quand jrandom reviendra. ⏎\n" +"Les domaines *.i2p.net ont été laissés en dans un état de non-" +"fonctionnement après une panne⏎\n" +"électrique chez l'entreprise d'hébergement." + +#: i2p2www/pages/site/faq.html:117 +#, python-format +msgid "" +"See this page for jrandom's parting message " +"and additional information\n" +"on the migration of *.i2p.net to this website." +msgstr "" +"Voir cette page pour le message d'adieu de " +"jrandom et⏎\n" +"des informations supplémentaires sur la migration des *.i2p.net vers ce site web." + +#: i2p2www/pages/site/faq.html:122 +msgid "I2P remains in active development." +msgstr "I2P reste en développement actif." + +#: i2p2www/pages/site/faq.html:126 +msgid "There are many possible causes of high CPU usage. Here is a checklist:" +msgstr "" +"Il ya beaucoup de causes possibles de l'utilisation élevée du processeur." +" Voici une liste de choses à vérifier :" + +#: i2p2www/pages/site/faq.html:131 +msgid "" +"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 java " +"-version at a \n" +"command/shell prompt. Performance tends to suffer with other " +"implementations of java." +msgstr "" +"Essayez d'utiliser OpenJDK ou Sun/Oracle Java si il est disponible pour " +"votre système. Vous pouvez vérifier⏎\n" +"quelle version de Java vous avez installé en tapant java-version dans une ⏎ \n" +"commande / invite du shell. La performance a tendance à souffrir avec " +"d'autres implémentations de Java." + +#: i2p2www/pages/site/faq.html:138 +msgid "" +"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 "" +"Faites vous tourner un client BitTorrent sur ​​I2P ? Essayez de réduire :" +" le nombre de torrents,⏎\n" +"les limites de bande passante, ou essayez de l'éteindre complètement pour" +" voir si cela aide." + +#: i2p2www/pages/site/faq.html:144 +msgid "" +"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 share " +"bandwidth percentage on the configuration page." +msgstr "" +"Est-ce que vos limites de bande passante trop élevées ? Il est possible " +"que trop de trafic passe par votre ⏎ \n" +"routeur I2P et qu'il soit surchargé. Essayez de réduire le réglage de " +"pourcentage de bande passante partagée sur la page configuration." + +#: i2p2www/pages/site/faq.html:149 +msgid "" +"Make sure that you're running the latest version of I2P to get the " +"benefits of increased performance and bug fixes." +msgstr "" +"Assurez-vous que vous utilisez la dernière version de I2P afin d'obtenir " +"les avantages de l'augmentation de la performance et des corrections de " +"bugs." + +#: i2p2www/pages/site/faq.html:154 +msgid "" +"Has enough memory been set aside for use by I2P? Look at the memory graph" +" on the graphs page to see\n" +"if the memory usage is \"pegged\"—the JVM is spending most of its " +"time in\n" +"garbage collection. Increase the setting " +"wrapper.java.maxmemory in wrapper.config." +msgstr "" +"Est-ce que suffisamment de mémoire a été mise de côté pour une " +"utilisation par I2P ? Regardez le graphique de la mémoire sur la page des" +" graphiques de performance I2P pour voir ⏎\n" +"si l'utilisation de la mémoire est \"rattachée\"— la JVM est en " +"train de passer la plupart de son temps à faire de la⏎\n" +"garbage collection. Augmentez le réglage " +"wrapper.java.maxmemory dans wrapper.config ." + +#: i2p2www/pages/site/faq.html:161 +#, python-format +msgid "" +"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 "" +"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 jbigi page for instructions on\n" +"diagnosing, building, and testing methods." +msgstr "" +"Vous utilisez peut-être la bibliothèque BigInteger basée sur Java au lieu" +" de la version native, ⏎ \n" +"en particulier si vous êtes sur un nouveau ou inhabituel OS ou matériel " +"(OpenSolaris, mips, etc.) ⏎ \n" +"Voir la page jbigi pour obtenir des " +"instructions sur ⏎ \n" +"le diagnostic, la construction et les méthodes d'essai." + +#: 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" +"confignet.jsp,\n" +"or by setting router.maxParticipatingTunnels=nnn on\n" +"configadvanced.jsp." +msgstr "" +"Si votre bibliothèque native jbigi fonctionne bien, le plus grand " +"utilisateur de \n" +"CPU peut être l'acheminement du trafic dans les tunnels participants. " +"Celui-ci utilise du CPU\n" +"parce que à chaque saut une couche de chiffrement doit être décodée.\n" +"Vous pouvez limiter la participation trafic de deux façons - en réduisant" +" le\n" +"partage de bande passante sur\n" +"confignet.jsp,\n" +"ou en paramétrant router.maxParticipatingTunnels=nnn sur\n" +"configadvanced.jsp." + +#: i2p2www/pages/site/faq.html:190 +msgid "" +"Hmm. I2P is an anonymous network, so that's a tricky one.\n" +"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:" +msgstr "" +"Hmm, I2P est un réseau anonyme, de sorte que c'est une question délicate." +" ⏎ \n" +"I2P est conçu pour résister à la censure, en fournissant un moyen pour " +"chacun de communiquer librement. ⏎\n" +"La meilleure façon de garder votre PC à l'écart de trafic (crypté) que " +"vous n'aimez pas, est de ne pas utiliser I2P. ⏎\n" +"La liberté d'expression a des coûts. ⏎\n" +"Mais nous allons répondre à votre question en trois parties :" + +#: i2p2www/pages/site/faq.html:199 +#, python-format +msgid "" +"Distribution - All traffic on I2P is encrypted in multiple layers." +" You don't know\n" +"a message's contents, source, or destination.\n" +"All traffic you route is internal to the I2P network, you are not an exit node (outproxy).\n" +"Your only alternative is to refuse to route\n" +"any 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." +msgstr "" + +#: i2p2www/pages/site/faq.html:210 +msgid "" +"Storage - I2P does not do distributed storage of content. You must" +" be thinking of\n" +"Freenet.\n" +"Nobody's content is being stored on your computer by running I2P." +msgstr "" +"Stockage - I2P ne fait pas de stockage de contenu distribué. Vous " +"deviez penser à ⏎\n" +"Freenet. ⏎\n" +"En exécutant I2P, le contenu de personne n'est stocké sur votre " +"ordinateur." + +#: i2p2www/pages/site/faq.html:217 +msgid "" +"Access - 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\"." +msgstr "" +"Accès - S'il ya des eepsites vous n'aimez pas, n'y allez pas ⏎ \n" +"Ou, utilisez un proxy bloquant tel que Privoxy ou certains type de \"Net " +"Nanny\" (logiciels de contrôle parental)." + +#: i2p2www/pages/site/faq.html:227 +msgid "" +"No. This is normal.\n" +"All routers adjust dynamically to changing network conditions and demands." +msgstr "" +"Non, c'est normal. ⏎\n" +"Tous les routeurs s'adapter dynamiquement à l'évolution des conditions du" +" réseau et des demandes." + +#: i2p2www/pages/site/faq.html:234 +msgid "" +"You may need to reseed your I2P router. With recent versions of I2P you " +"can go to http://localhost:7657/configreseed" +" and click the Save Changes and Reseed Now button. If this " +"method doesn't work—or you're using a very old version—you " +"may need to reseed manually." +msgstr "" +"Vous devrez peut-être réamorcer (reseed) votre routeur I2P. Avec les " +"versions récentes de I2P vous pouvez aller sur http://localhost:7657/configreseed" +" et cliquer sur le bouton Sauvegarder et réamorcer. Si cette " +"méthode ne fonctionne pas ou que vous utilisez une très ancienne version," +" vous devrez peut-être réamorcer " +"manuellement." + +#: i2p2www/pages/site/faq.html:237 +msgid "" +"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" +"on configadvanced.jsp," +"\n" +"add the line i2p.reseedURL=http://netdb.i2p2.de/\n" +"OR i2p.reseedURL=http://i2pdb.tin0.de/netDb/ (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" +"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" +"manual reseed instructions below\n" +"or install the latest release.\n" +"Possible alternate method - add\n" +"wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/\n" +"to wrapper.config, shutdown the router completely, then start again, then" +" click \"reseed\".\n" +"Let us know if this works." +msgstr "" +"Cela marche si vous utilisez 0.6.1.27 ou plus ancienne.⏎\n" +"Si vous utilisez la release 0.6.1.31 ou plus ancienne, vous n'aurez " +"probablement pas besoin de faire cela.⏎\n" +"Si vous utilisez la release 0.6.1.26 ou plus récente, soit suivez les⏎\n" +"instructions de réamorçage manuel ci-" +"dessous⏎\n" +"ou installez la release la plus " +"récente.⏎\n" +"Méthode alternative possible - ajouter⏎\n" +"wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/⏎" +"\n" +"à wrapper.config, arrêter le routeur complètement, puis le redémarrer, et" +" cliquer \"reseed\".⏎\n" +"Faites nous savoir si cela fonctionne." + +#: i2p2www/pages/site/faq.html:259 +#, python-format +msgid "" +"...but you *really* should upgrade to " +"the latest version." +msgstr "" +"...mais vous devriez *vraiment* mettre à " +"niveau vers la version la plus récente." + +#: i2p2www/pages/site/faq.html:265 +msgid "" +"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 should maintain connections to a few peers at all " +"times.\n" +"The best way to stay \"better-connected\" to the network is to share more bandwidth." +msgstr "" +"Si vous routeur a 10 pairs actifs ou davantage, tout va bien. Des " +"changements dans les releases 0.6.1.31 et 0.6.1.32 ont amélioré⏎\n" +"l'efficacité de votre router et réduit efficacement le nombre de pairs " +"actifs.⏎\n" +"Le router devrait maintenir des connexions vers quelques pairs " +"tout le temps.⏎\n" +"La meilleure façon de rester \"mieux connecté\" au réseau est de partager davantage de bande " +"passante." + +#: i2p2www/pages/site/faq.html:272 +msgid "" +"Is my router an \"exit node\" to the regular Internet? I don't want it to" +" be." +msgstr "" +"Est-ce que mon routeur est un \"nœud de sortie\" (outproxy) vers " +"l'Internet régulier ? Je ne veux pas qu'il le soit." + +#: i2p2www/pages/site/faq.html:274 +msgid "" +"No. Unlike Tor,\n" +"\"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 "" +"Non, contrairement Tor, ⏎ \n" +"\"nœuds de sortie\" ou \"outproxies\" ne sont pas une partie intégrante " +"du réseau. ⏎\n" +"Seuls les volontaires qui ont mis en place et exécutent des applications " +"distinctes vont relayer le traffic vers l'Internet régulier. ⏎\n" +"Il y a très, très peu de ces ceux-là." + +#: i2p2www/pages/site/faq.html:283 +msgid "" +"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" +"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" +"To use it, edit your i2ptunnel " +"settings for eepProxy\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" +"If your primary reason to use an anonymous network is to anonymously " +"access sites\n" +"on the regular Internet, you should probably try Tor." +msgstr "" +"Voir ci-dessus. Il ya très peu de \"outproxies\" HTTP, ils ne sont pas " +"une partie intégrante du réseau, ⏎ \n" +"et ils peuvent ne pas être en service. ⏎ \n" +"En outre, les anciens outproxies squid.i2p, true.i2p et krabs.i2p ont " +"disparu. ⏎\n" +"Le seul outproxy en ce moment est false.i2p. ⏎\n" +"Pour l'utiliser, modifiez vos " +"paramètres " +"i2ptunnel pour eepProxy ⏎ \n" +"et de définissez votre liste de outproxy à 'false.i2p' (seulement). ⏎\n" +"Puis arrêtez et redémarrez le eepProxy. ⏎\n" +"Si cela ne fonctionne pas, le outproxy n'est pas en place. Ce n'est pas " +"la faute de I2P. ⏎\n" +"Si votre principale raison d'utiliser un réseau anonyme est d'accéder " +"anonymement aux sites ⏎\n" +"de l'Internet régulier, vous devriez probablement essayer Tor." + +#: i2p2www/pages/site/faq.html:298 +msgid "" +"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 "" +"Dans I2P, il n'y a pas besoin de HTTPS, comme tout le trafic est chiffré " +"de bout en bout. ⏎\n" +"FTP n'est pas pris en charge pour des raisons techniques." + +#: i2p2www/pages/site/faq.html:302 +msgid "" +"There are no FTP \"outproxies\" to the Internet—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 "" +"Il n'y a pas de \"outproxies\" FTP vers l'internet, il est même à " +"craindre qu'il ne soit pas possible d'en mettre un en place. ⏎\n" +"Tout autre type de outproxy peut fonctionner s'il est mis en place avec " +"un tunnel standard. ⏎\n" +"Si vous souhaitez mettre en place un certain type de outproxy, étudiez " +"soigneusement les risques potentiels. ⏎\n" +"La communauté I2P peut, ou peut ne pas être, en mesure d'aider concernant" +" les aspects techniques, n'hésitez pas à demander." + +#: i2p2www/pages/site/faq.html:308 +msgid "" +"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 "" +"Comme expliqué à plusieurs reprises ci-dessus, tout outproxy existant " +"n'est pas un élément essentiel du réseau. ⏎\n" +"Ce sont des services gérés par des individus particuliers et ils peuvent " +"ou non ⏎ \n" +"être opérationnels à tout moment donné." + +#: i2p2www/pages/site/faq.html:313 +msgid "" +"Update: Thanks to the work of h2ik, there is an https outproxy " +"available for use via I2P. Starting with I2P 0.8.4 the tunnel is " +"configured out of the box.
    \n" +"In case the https outproxy is not available in your version of I2P, you " +"can add it easily by doing the following:" +msgstr "" +"Mise à jour: grâce au travail de H2ik, il ya un outproxy https " +"disponible pour être utilisé via I2P.\n" +"Depuis I2P 0.8.4 le tunnel est" +" configuré d'origine.
    \n" +"Dans le cas où le outproxy https n'est pas disponible dans votre version " +"de I2P, vous pouvez l'ajouter facilement de la manière suivante :" + +#: i2p2www/pages/site/faq.html:319 +msgid "" +"Open i2p tunnel " +"manager. Scroll down to the bottom." +msgstr "" +"Ouvrir Gestionnaire" +" de tunnels I2P. Défilez jusqu'en bas." + +#: i2p2www/pages/site/faq.html:324 +msgid "" +"Choose CONNECT from New Client Tunnel dropdown list, click " +"Create" +msgstr "" +"Dans Nouveau tunnel client, choisir dans la liste : CONNECT, " +"cliquer Créer" + +#: i2p2www/pages/site/faq.html:329 +#, python-format +msgid "" +"In the new page, name and describe your new https tunnel as" +" you like.\n" +"The Access Point is your local port for the new https proxy " +"recommended port's 4445.\n" +"Outproxy should be the outproxy's .i2p address which supports " +"https. \n" +"See this forum post of h2ik's for the " +"address. \n" +"Make sure Shared Client, Delay Connect, AutoStart " +"are checked.\n" +"Other options should be left at the defaults. Click Save. In tunnel " +"manger, click the Start button next to your new tunnel." +msgstr "" +"Dans la nouvelle page, nommez et décrivez votre nouveau " +"tunnel https comme vous le souhaitez. ⏎\n" +"Le point d'accès est votre port local pour le nouveau proxy " +"https recommandé 4445 . Du port de ⏎ outproxy devrait " +"être. I2P l'adresse de l'outproxy qui prend en charge le protocole HTTPS." +" ⏎  Voir ce post sur le forum de H2IK 's pour" +" l'adresse. ⏎  Assurez-vous que client partagé , Délai " +"Connect , Autostart sont vérifiés. ⏎  D'autres options " +"devraient être laissés aux valeurs par défaut. Cliquez sur Enregistrer. " +"Dans tunnel crèche, cliquez sur Démarrer bouton à côté de votre" +" nouveau tunnel." + +#: i2p2www/pages/site/faq.html:339 +msgid "" +"In firefox, click through " +"Tools>Options>Advanced>Network>Setting." +"\n" +"Untick Use this proxy for all protocol, set SSL proxy: to " +"localhost:4445." +msgstr "" + +#: i2p2www/pages/site/faq.html:344 +msgid "Done." +msgstr "Fait." + +#: i2p2www/pages/site/faq.html:350 +#, python-format +msgid "" +"\n" +"This is a question that only you can answer because the correct answer " +"depends on your behaviours, your\n" +"threat model, 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" +"The Tor" +" FAQ\n" +"does a good job of explaining this." +msgstr "" + +#: i2p2www/pages/site/faq.html:360 +#, python-format +msgid "" +"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 %(zzz)s." +msgstr "" + +#: i2p2www/pages/site/faq.html:368 +msgid "" +"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 Tor." +msgstr "" + +#: i2p2www/pages/site/faq.html:376 +#, python-format +msgid "" +"If you consider every eepsite that has ever been created, yes, most of " +"them are down.\n" +"People and eepsites come and go.\n" +"A good way to get started in I2P is check out a list of eepsites that are" +" currently up.\n" +"%(perv)s tracks active eepsites." +msgstr "" + +#: i2p2www/pages/site/faq.html:385 +msgid "" +"Click on the Website link\n" +"at the top of your router console for instructions." +msgstr "" + +#: i2p2www/pages/site/faq.html:392 +msgid "" +"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 "" +"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" +"the configuration page.\n" +"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 "" +"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 "" +"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, install the latest " +"release." +msgstr "" + +#: i2p2www/pages/site/faq.html:418 +#, python-format +msgid "" +"See the\n" +"I2P Bittorrent FAQ" +msgstr "" + +#: i2p2www/pages/site/faq.html:425 +msgid "" +"\n" +"A tunnel to the main IRC server within I2P, Irc2P, is created when I2P is" +" installed (see\n" +"the I2PTunnel " +"configuration page),\n" +"and is automatically started when the I2P router starts. To connect to " +"it, tell your IRC\n" +"client to connect to localhost 6668. XChat-like client users" +" can create a\n" +"new network with the server localhost/6668 (remember to tick" +" "Bypass\n" +"proxy server" if you have a proxy server configured)." +msgstr "" + +#: i2p2www/pages/site/faq.html:436 +msgid "" +"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 "" + +#: i2p2www/pages/site/faq.html:444 +msgid "" +"Open ~/.i2p/clients.config and replace
    \n" +"clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
    \n" +"with
    \n" +"clientApp.0.args=7657 0.0.0.0 ./webapps/" +msgstr "" + +#: i2p2www/pages/site/faq.html:452 +msgid "" +"Go to http://localhost:7657/configadvanced.jsp" +"\n" +"and add a new option: consolePassword=foo (or whatever " +"password you want)" +msgstr "" + +#: i2p2www/pages/site/faq.html:458 +msgid "" +"Go to http://localhost:7657/index.jsp" +"\n" +"and hit \"Graceful restart\", which restarts the JVM and reloads the " +"client applications" +msgstr "" + +#: i2p2www/pages/site/faq.html:465 +msgid "" +"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" +"0.0.0.0 above specifies an interface, 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 "" + +#: i2p2www/pages/site/faq.html:476 +msgid "" +"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 " +"i2cp.tcp.bindAllInterfaces=true and restart." +msgstr "" + +#: i2p2www/pages/site/faq.html:481 +msgid "Whats an \"eepsite\"?" +msgstr "Qu'est ce qu'un \"eepsite\" ?" + +#: i2p2www/pages/site/faq.html:483 +msgid "" +"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 "" +"Un eepsite est un site qui est hébergé anonyme - vous pouvez y accéder en" +"\n" +"paramétrant le proxy HTTP de votre navigateur pour utiliser le proxy web " +"(typiquement, il\n" +"écoute sur le port localhost 4444), puis naviguer vers le site." + +#: i2p2www/pages/site/faq.html:491 +#, python-format +msgid "" +"The proxy config for different browsers is on a \n" +"separate page with screenshots. More advanced configs with external " +"tools\n" +"are possible but could introduce leaks in your setup." +msgstr "" +"La configuration proxy pour les différents navigateurs est sur une \n" +"page séparée avec des copies d'écran. Des paramétrages plus avancées " +"avec des outils externes\n" +"sont possibles, mais pourraient présenter des fuites dans votre " +"configuration." + +#: i2p2www/pages/site/faq.html:500 +msgid "" +"x is the number of peers you've sent or received a message from\n" +"successfully in the last minute, y is the number of peers seen in the " +"last\n" +"hour or so." +msgstr "" + +#: i2p2www/pages/site/faq.html:508 +msgid "" +"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 "" +"Le proxy SOCKS fonctionne à partir de la release 0.7.1. SOCKS 4/4a/5 sont" +" pris en charge. \n" +"Il n'y a pas d'outproxy SOCKS donc il est d'une utilité limitée." + +#: 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" +"this, thus using I2P to 'socksify' existing applications is possible, but" +"\n" +"extremely dangerous." +msgstr "" +"En outre, de nombreuses applications font fuire des informations\n" +"sensibles qui pourraient vous identifier sur l'Internet. I2P filtre " +"uniquement\n" +"les données de connexion, mais si le logiciel que vous souhaitez exécuter" +" envoie cette\n" +"information en tant que contenu, I2P n'a aucun moyen de protéger votre " +"anonymat.\n" +"Par exemple certaines applications de messagerie envoient l'adresse IP de" +" la machine\n" +"sur laquelle elles sont en cours d'exécution vers un serveur de " +"messagerie. Il n'existe\n" +"aucun moyen pour I2P de filtrer ceci, utiliser I2P pour 'socksifier' des " +"applications existantes\n" +"est possible, mais extrêmement dangereux." + +#: i2p2www/pages/site/faq.html:522 +#, python-format +msgid "" +"If you would like more information on the socks proxy application anyway," +"\n" +"there are some helpful hints on the socks page." +msgstr "" +"Si vous souhaitez plus d'informations sur l'application de proxy socks " +"malgré tout,\n" +"il ya quelques conseils utiles sur la page socks " +"." + +#: 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 "" + +#: i2p2www/pages/site/faq.html:538 +msgid "" +"Internet-facing ports\n" +"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" +"The selected port is shown on the router configuration page." +msgstr "" + +#: i2p2www/pages/site/faq.html:546 +msgid "" +"Outbound UDP from the random port noted on the configuration page to " +"arbitrary remote UDP ports, allowing replies\n" +" " +msgstr "" + +#: i2p2www/pages/site/faq.html:551 +msgid "" +"Outbound TCP from random high ports to arbitrary remote TCP ports\n" +" " +msgstr "" + +#: i2p2www/pages/site/faq.html:556 +msgid "" +"(optional, but recommended) Inbound UDP to the port noted on configuration page from " +"arbitrary locations\n" +" " +msgstr "" + +#: i2p2www/pages/site/faq.html:561 +msgid "" +"(optional, but recommended) Inbound TCP to the port noted on configuration page from " +"arbitrary locations
    \n" +"Inbound TCP may be disabled on the configuration page." +msgstr "" + +#: i2p2www/pages/site/faq.html:567 +msgid "" +"Outbound UDP on port 123, allowing replies
    \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 "" + +#: i2p2www/pages/site/faq.html:578 +msgid "" +"Local I2P ports, listening only to local connections by default,\n" +"except where noted:" +msgstr "" + +#: i2p2www/pages/site/faq.html:584 +msgid "" +"1900: UPnP SSDP UDP multicast listener.\n" +"Cannot be changed. Binds to all interfaces.\n" +"May be disabled on confignet.jsp." +msgstr "" + +#: i2p2www/pages/site/faq.html:591 +msgid "" +"2827: BOB bridge, a higher level socket API for clients\n" +"Disabled by default.\n" +"May be enabled/disabled on configclients.jsp.\n" +"May be changed in the bob.config file." +msgstr "" + +#: i2p2www/pages/site/faq.html:599 +msgid "" +"4444: HTTP proxy\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:606 +msgid "" +"4445: HTTPS proxy\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:613 +msgid "" +"6668: IRC proxy\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:620 +msgid "" +"7652: UPnP HTTP TCP event listener.\n" +"Binds to the LAN address.\n" +"May be changed with advanced config i2np.upnp.HTTPPort=nnnn.\n" +"May be disabled on confignet.jsp." +msgstr "" + +#: i2p2www/pages/site/faq.html:628 +msgid "" +"7653: UPnP SSDP UDP search response listener.\n" +"Binds to all interfaces.\n" +"May be changed with advanced config i2np.upnp.SSDPPort=nnnn.\n" +"May be disabled on confignet.jsp." +msgstr "" + +#: i2p2www/pages/site/faq.html:636 +msgid "" +"7654: I2P Client Protocol port, used by client apps.\n" +"May be changed to a different port on\n" +"configclients.jsp" +"\n" +"but this is not recommended.\n" +"May be to bind to a different interface or all interfaces, or disabled, " +"on\n" +"configclients.jsp." +msgstr "" + +#: i2p2www/pages/site/faq.html:646 +msgid "" +"7655: UDP for SAM bridge, a higher level socket API for clients\n" +"Only opened when a SAM V3 client requests a UDP session.\n" +"May be enabled/disabled on configclients.jsp.\n" +"May be changed in the clients.config file with the SAM command line " +"option sam.udp.port=nnnn." +msgstr "" + +#: i2p2www/pages/site/faq.html:654 +msgid "" +"7656: SAM bridge, a higher level socket API for clients\n" +"Disabled by default for new installs as of release 0.6.5.\n" +"May be enabled/disabled on configclients.jsp.\n" +"May be changed in the clients.config file." +msgstr "" + +#: i2p2www/pages/site/faq.html:662 +msgid "" +"7657: Your router console\n" +"May be disabled in the clients.config file.\n" +"May also be configured to be bound to a specific interface or all " +"interfaces in that file." +msgstr "" + +#: i2p2www/pages/site/faq.html:669 +msgid "" +"7658: Your eepsite\n" +"May be disabled in the clients.config file.\n" +"May also be configured to be bound to a specific interface or all " +"interfaces in the jetty.xml file." +msgstr "" + +#: i2p2www/pages/site/faq.html:676 +msgid "" +"7659: Outgoing mail to smtp.postman.i2p\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:683 +msgid "" +"7660: Incoming mail from pop.postman.i2p\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:690 +msgid "" +"8998: mtn.i2p2.i2p (Monotone - disabled by default)\n" +"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." +msgstr "" + +#: i2p2www/pages/site/faq.html:697 +msgid "" +"31000: Local connection to the wrapper control channel port.\n" +"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" +"wrapper documentation.\n" +"For more information see below." +msgstr "" + +#: i2p2www/pages/site/faq.html:707 +msgid "" +"32000: Local control channel for the service wrapper.\n" +"To change, see the\n" +"wrapper documentation.\n" +"For more information see below." +msgstr "" + +#: i2p2www/pages/site/faq.html:719 +msgid "" +"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 "" + +#: i2p2www/pages/site/faq.html:727 +msgid "" +"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 " +"outbound facing port, 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 "" + +#: i2p2www/pages/site/faq.html:735 +msgid "Why is I2P listening on port 32000?" +msgstr "" + +#: i2p2www/pages/site/faq.html:737 +msgid "" +"The Tanuki java service wrapper that we use opens this port—bound " +"to localhost—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 "" + +#: i2p2www/pages/site/faq.html:743 +msgid "" +"More information can be found in the \n" +"wrapper documentation." +msgstr "" + +#: i2p2www/pages/site/faq.html:750 +msgid "" +"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 "" + +#: i2p2www/pages/site/faq.html:757 +msgid "" +"A typical symptom of a failed reseed is the \"Known\" indicator\n" +"(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 "" + +#: i2p2www/pages/site/faq.html:764 +msgid "To reseed an I2P router manually, do the following:" +msgstr "" + +#: i2p2www/pages/site/faq.html:767 +msgid "Stop your I2P router" +msgstr "" + +#: i2p2www/pages/site/faq.html:770 +msgid "" +"Open http://netdb.i2p2.de/ using a " +"web browser" +msgstr "" + +#: i2p2www/pages/site/faq.html:773 +msgid "Save a dozen \"routerInfo\" files to your I2P \"netDb\" directory" +msgstr "" + +#: i2p2www/pages/site/faq.html:780 +msgid "Start your I2P router" +msgstr "" + +#: i2p2www/pages/site/faq.html:787 +msgid "" +"When trying to start the router using \"i2prouter start\", you may see " +"output like the following:" +msgstr "" + +#: i2p2www/pages/site/faq.html:792 +msgid "" +"\n" +"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 java wrapper \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 "" + +#: i2p2www/pages/site/faq.html:800 +msgid "" +"Switch to the root user with su or log in as " +"root." +msgstr "" + +#: i2p2www/pages/site/faq.html:806 +#, python-format +msgid "" +"If you cannot install these compatibility libraries (or do not want to), " +"other\n" +"possibilities would be to compile the wrapper for your\n" +"system, starting I2P with the runplain.sh script, or you" +" can\n" +"replace the wrapper with one from the source tarball." +msgstr "" + +#: 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 +msgid "" +"In wrapper.log I see an error that states \"Protocol " +"family unavailable\" when loading the Router Console" +msgstr "" + +#: i2p2www/pages/site/faq.html:818 +msgid "" +"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 +msgid "" +"On Linux based systems, you can echo 0 > " +"/proc/sys/net/ipv6/bindv6only" +msgstr "" + +#: i2p2www/pages/site/faq.html:825 +msgid "Look for the following lines in wrapper.config." +msgstr "" + +#: i2p2www/pages/site/faq.html:829 +msgid "" +"If the lines are there, uncomment them by removing the \"#\"s. If the " +"lines are not there, add them without the \"#\"s." +msgstr "" + +#: i2p2www/pages/site/faq.html:832 +msgid "" +"Another option would be to remove the ::1 from " +"~/.i2p/clients.config" +msgstr "" + +#: i2p2www/pages/site/faq.html:836 +msgid "" +"WARNING: For any changes to wrapper.config " +"to take effect, you must completely\n" +"stop the router and the wrapper. Clicking Restart on your\n" +"router console will NOT reread this file! You must\n" +"click Shutdown, wait 11 minutes, then start I2P." +msgstr "" + +#: i2p2www/pages/site/faq.html:847 +#, python-format +msgid "" +"Great! Find us on IRC irc.freenode.net #i2p or post to\n" +"the forum and we'll post it here (with\n" +"the answer, hopefully)." +msgstr "" + +#: i2p2www/pages/site/impressum.html:4 +msgid "German laws" +msgstr "" + +#: i2p2www/pages/site/index.html:2 +msgid "I2P Anonymous Network" +msgstr "" + +#: i2p2www/pages/site/index.html:4 +msgid "" +"Anonymous peer-to-peer distributed communication layer built with open " +"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 +msgid "" +"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 +msgid "" +"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 +msgid "" +"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 +msgid "" +"I2P runs on Java and is therefore available anywhere Java will run, " +"including desktops, embedded systems (like the Raspberry Pi) and Android" +" phones.\n" +msgstr "" + +#: i2p2www/pages/site/index.html:25 +msgid "Read more…" +msgstr "" + +#: i2p2www/pages/site/index.html:30 +msgid "What can you do with I2P?" +msgstr "" + +#: i2p2www/pages/site/index.html:33 +#, python-format +msgid "" +"Email Integrated web mail interface, " +"plugin for serverless email." +msgstr "" + +#: i2p2www/pages/site/index.html:38 +#, python-format +msgid "" +"Web browsing Anonymous " +"websites, gateways to and from the public Internet." +msgstr "" + +#: i2p2www/pages/site/index.html:43 +#, python-format +msgid "" +"Blogging and forums " +"Blogging and Syndie plugins." +msgstr "" + +#: i2p2www/pages/site/index.html:48 +#, python-format +msgid "" +"Website hosting Integrated " +"anonymous web server." +msgstr "" + +#: i2p2www/pages/site/index.html:53 +#, python-format +msgid "" +"Real-time chat Instant " +"messaging and IRC clients." +msgstr "" + +#: i2p2www/pages/site/index.html:58 +#, python-format +msgid "" +"File sharing ED2K and Gnutella" +" clients, integrated BitTorrent client." +msgstr "" + +#: i2p2www/pages/site/index.html:63 +#, python-format +msgid "" +"Decentralized file " +"storage Tahoe-LAFS distributed filesystem plugin." +msgstr "" + +#: i2p2www/pages/site/index.html:68 +#, python-format +msgid "More supported applications…" +msgstr "" + +#: i2p2www/pages/site/index.html:76 +msgid "News & 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" +"links to presentations, videos, and tutorials about" +" I2P." +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 "" + +#: i2p2www/pages/site/about/browser-config.html:2 +msgid "Web Browser Configuration" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:5 +msgid "" +"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" +"the most popular browsers." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:11 +msgid "How to configure your browser" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:17 +#: i2p2www/pages/site/about/browser-config.html:73 +msgid "Outproxy Terms Of Service" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:22 +msgid "Internet Explorer 8 or Chrome" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:23 +msgid "" +"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" +"proxy port configuration." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:28 +msgid "IE Internet Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:29 +msgid "" +"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" +"settings and your browser is set to use the I2P proxy." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:36 +msgid "IE Proxy Settings" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:40 +msgid "" +"From the Tools menu, select Options to bring up the Firefox settings " +"panel.\n" +"Click the icon labelled Advanced, then click on the " +"Network\n" +"tab. In the Connections section, click on the Settings button. " +"You'll\n" +"see a Window like the following:" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:46 +msgid "Firefox Network Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:47 +msgid "" +"In the Connection Settings window, click the circle next to " +"Manual\n" +" proxy configuration, then enter 127.0.0.1, port 4444 in the HTTP" +" Proxy\n" +"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 "" + +#: i2p2www/pages/site/about/browser-config.html:53 +msgid "Firefox Proxy Settings" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:57 +msgid "" +"From the Settings menu, select Configure Konqueror. In " +"the\n" +"Web Browsing group on the left side, select Proxy Services.\n" +"In this new window, select the option \"Manually specify the proxy " +"settings\" and\n" +"click the Setup box." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:63 +msgid "Konqueror Proxy Options" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:64 +msgid "" +"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 New button in the Exceptions section. Enter" +"\n" +"localhost and click OK. Click the New button once more and enter" +"\n" +"127.0.0.1 and OK. Hit OK once more to close the configuration window." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:70 +msgid "Konqueror Proxy Ports" +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:74 +msgid "" +"Remember: I2P was not designed for creating proxies to the outer " +"Internet.\n" +"Instead, it is meant to be used as an internal network." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:78 +msgid "" +"The I2P project itself does not run any proxies to the Internet. Any " +"such proxy\n" +"services are run by by private volunteers and could be shut down or\n" +"unreachable at anytime." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:83 +msgid "" +"By default, I2P comes with two outproxies configured: " +"false.i2p\n" +"(an HTTP-only proxy) and outproxyng.h2ik.i2p (an HTTPS proxy" +"\n" +"routed through Tor." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:88 +msgid "" +"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" +"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 "" + +#: i2p2www/pages/site/about/browser-config.html:94 +#, python-format +msgid "" +"Filtering is active on these outproxies (for example, mibbit and torrent\n" +"tracker access is blocked). Note that even though the pirate bay is " +"blocked\n" +"they host an official eepsite at %(tpb)s. " +"Eepsites\n" +"that are accessible via .i2p addresses are also not allowed via the " +"outproxies.\n" +"As a convenience, False.i2p blocks ad servers." +msgstr "" + +#: i2p2www/pages/site/about/browser-config.html:101 +msgid "" +"Tor is good application to use" +" as an\n" +"outproxy to the Internet." +msgstr "" + +#: i2p2www/pages/site/about/glossary.html:4 +msgid "" +"This page lists often-used terminology when discussing I2P and " +"cryptography." +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:2 +msgid "Hall Of Fame" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:5 +msgid "I2P's Hall of Fame" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:6 +#, python-format +msgid "Current balance: as of %(date)s" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:9 +#: i2p2www/pages/site/about/hall-of-fame.html:46 +#: i2p2www/pages/site/about/hall-of-fame.html:53 +#: i2p2www/pages/site/about/hall-of-fame.html:54 +#: i2p2www/pages/site/about/hall-of-fame.html:55 +#: i2p2www/pages/site/about/hall-of-fame.html:56 +#: i2p2www/pages/site/about/hall-of-fame.html:58 +#: i2p2www/pages/site/about/hall-of-fame.html:59 +#: i2p2www/pages/site/about/hall-of-fame.html:60 +#: i2p2www/pages/site/about/hall-of-fame.html:63 +#: i2p2www/pages/site/about/hall-of-fame.html:64 +#: i2p2www/pages/site/about/hall-of-fame.html:65 +#: i2p2www/pages/site/about/hall-of-fame.html:68 +#: i2p2www/pages/site/about/hall-of-fame.html:69 +#: i2p2www/pages/site/about/hall-of-fame.html:70 +#: i2p2www/pages/site/about/hall-of-fame.html:71 +#: i2p2www/pages/site/about/hall-of-fame.html:72 +#: i2p2www/pages/site/about/hall-of-fame.html:73 +#: i2p2www/pages/site/about/hall-of-fame.html:74 +#: i2p2www/pages/site/about/hall-of-fame.html:75 +#: i2p2www/pages/site/about/hall-of-fame.html:76 +#: i2p2www/pages/site/about/hall-of-fame.html:77 +#: i2p2www/pages/site/about/hall-of-fame.html:78 +#: i2p2www/pages/site/about/hall-of-fame.html:79 +#: i2p2www/pages/site/about/hall-of-fame.html:80 +#: i2p2www/pages/site/about/hall-of-fame.html:83 +#: i2p2www/pages/site/about/hall-of-fame.html:84 +#: i2p2www/pages/site/about/hall-of-fame.html:85 +#: i2p2www/pages/site/about/hall-of-fame.html:86 +#: i2p2www/pages/site/about/hall-of-fame.html:87 +#: i2p2www/pages/site/about/hall-of-fame.html:88 +#: i2p2www/pages/site/about/hall-of-fame.html:90 +#: i2p2www/pages/site/about/hall-of-fame.html:91 +#: i2p2www/pages/site/about/hall-of-fame.html:94 +#: i2p2www/pages/site/about/hall-of-fame.html:95 +#: i2p2www/pages/site/about/hall-of-fame.html:96 +#: i2p2www/pages/site/about/hall-of-fame.html:97 +#: i2p2www/pages/site/about/hall-of-fame.html:98 +#: i2p2www/pages/site/about/hall-of-fame.html:100 +#: i2p2www/pages/site/about/hall-of-fame.html:101 +#: i2p2www/pages/site/about/hall-of-fame.html:102 +#: i2p2www/pages/site/about/hall-of-fame.html:103 +#: i2p2www/pages/site/about/hall-of-fame.html:104 +#: i2p2www/pages/site/about/hall-of-fame.html:105 +#: i2p2www/pages/site/about/hall-of-fame.html:107 +#: i2p2www/pages/site/about/hall-of-fame.html:108 +#: i2p2www/pages/site/about/hall-of-fame.html:109 +#: i2p2www/pages/site/about/hall-of-fame.html:110 +#: i2p2www/pages/site/about/hall-of-fame.html:112 +#: i2p2www/pages/site/about/hall-of-fame.html:113 +#: i2p2www/pages/site/about/hall-of-fame.html:114 +#: i2p2www/pages/site/about/hall-of-fame.html:115 +#: i2p2www/pages/site/about/hall-of-fame.html:116 +#: i2p2www/pages/site/about/hall-of-fame.html:119 +#: i2p2www/pages/site/about/hall-of-fame.html:120 +#: i2p2www/pages/site/about/hall-of-fame.html:121 +#: i2p2www/pages/site/about/hall-of-fame.html:122 +#: i2p2www/pages/site/about/hall-of-fame.html:124 +#: i2p2www/pages/site/about/hall-of-fame.html:125 +#: i2p2www/pages/site/about/hall-of-fame.html:126 +#: i2p2www/pages/site/about/hall-of-fame.html:128 +#: i2p2www/pages/site/about/hall-of-fame.html:129 +#: i2p2www/pages/site/about/hall-of-fame.html:130 +#: i2p2www/pages/site/about/hall-of-fame.html:131 +#: i2p2www/pages/site/about/hall-of-fame.html:133 +#: i2p2www/pages/site/about/hall-of-fame.html:134 +#: i2p2www/pages/site/about/hall-of-fame.html:135 +#: i2p2www/pages/site/about/hall-of-fame.html:136 +#: i2p2www/pages/site/about/hall-of-fame.html:137 +#: i2p2www/pages/site/about/hall-of-fame.html:143 +#: i2p2www/pages/site/about/hall-of-fame.html:146 +#: 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:150 +#: 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 +#: 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:165 +#: i2p2www/pages/site/about/hall-of-fame.html:166 +#: i2p2www/pages/site/about/hall-of-fame.html:167 +#: i2p2www/pages/site/about/hall-of-fame.html:168 +#: i2p2www/pages/site/about/hall-of-fame.html:170 +#: i2p2www/pages/site/about/hall-of-fame.html:171 +#: 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:183 +#: 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:190 +#: 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:195 +#: 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 +#: 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:207 +#: 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:216 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:223 +#: i2p2www/pages/site/about/hall-of-fame.html:224 +#: i2p2www/pages/site/about/hall-of-fame.html:225 +#: i2p2www/pages/site/about/hall-of-fame.html:226 +#: i2p2www/pages/site/about/hall-of-fame.html:227 +#: i2p2www/pages/site/about/hall-of-fame.html:229 +#: 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:235 +#: i2p2www/pages/site/about/hall-of-fame.html:236 +#: i2p2www/pages/site/about/hall-of-fame.html:237 +#: i2p2www/pages/site/about/hall-of-fame.html:239 +#: i2p2www/pages/site/about/hall-of-fame.html:240 +#: i2p2www/pages/site/about/hall-of-fame.html:241 +#: i2p2www/pages/site/about/hall-of-fame.html:242 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:256 +#: i2p2www/pages/site/about/hall-of-fame.html:259 +#: i2p2www/pages/site/about/hall-of-fame.html:260 +#: i2p2www/pages/site/about/hall-of-fame.html:263 +#: i2p2www/pages/site/about/hall-of-fame.html:264 +#: i2p2www/pages/site/about/hall-of-fame.html:266 +#: i2p2www/pages/site/about/hall-of-fame.html:267 +#: 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:286 +#: i2p2www/pages/site/about/hall-of-fame.html:287 +#: i2p2www/pages/site/about/hall-of-fame.html:288 +#: 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:296 +#: 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:306 +#: i2p2www/pages/site/about/hall-of-fame.html:307 +#: 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:313 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:323 +#: 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 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:335 +#: i2p2www/pages/site/about/hall-of-fame.html:338 +#: 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:342 +#: i2p2www/pages/site/about/hall-of-fame.html:343 +#: 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:346 +#: i2p2www/pages/site/about/hall-of-fame.html:347 +#: 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:350 +#: i2p2www/pages/site/about/hall-of-fame.html:351 +#: i2p2www/pages/site/about/hall-of-fame.html:353 +#: i2p2www/pages/site/about/hall-of-fame.html:354 +#: i2p2www/pages/site/about/hall-of-fame.html:355 +#: i2p2www/pages/site/about/hall-of-fame.html:357 +#: i2p2www/pages/site/about/hall-of-fame.html:360 +#: i2p2www/pages/site/about/hall-of-fame.html:361 +#: i2p2www/pages/site/about/hall-of-fame.html:362 +#: i2p2www/pages/site/about/hall-of-fame.html:363 +#: i2p2www/pages/site/about/hall-of-fame.html:364 +#: 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 +#: 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 +msgid "General fund" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:10 +#: i2p2www/pages/site/about/hall-of-fame.html:12 +#: i2p2www/pages/site/about/hall-of-fame.html:20 +#, python-format +msgid "%(euroval)s € and %(btcval)s BTC" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:11 +msgid "Datastorage bounty" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:13 +msgid "Native IPv6 I2P" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:14 +#: 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 +msgid "%(euroval)s €" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:15 +msgid "I2PHex bounty" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:17 +msgid "I2P in debian mirrors" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:19 +#: i2p2www/pages/site/get-involved/bounties/index.html:67 +msgid "Bitcoin client for I2P" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:21 +msgid "Unit Tests for I2P router" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:23 +msgid "Bounty Robert" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:24 +msgid "Bounty Syndie" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:27 +msgid "Current monthly running costs:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:38 +msgid "Big thanks go to the following people who have donated to I2P!" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:39 +#, python-format +msgid "" +"If you have made a donation, please send an email to echelon\n" +"with your name or nick (and optionally homepage) so we can list you here." +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:44 +msgid "Current monthly subscriptions:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:177 +msgid "2011 donations and costs:" +msgstr "" + +#: i2p2www/pages/site/about/hall-of-fame.html:278 +msgid "Previous to 2011 donations:" +msgstr "" + +#: i2p2www/pages/site/about/intro.html:2 +msgid "Intro" +msgstr "" + +#: i2p2www/pages/site/about/intro.html:5 +msgid "" +"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" +"strictly message based (a la \n" +"IP), but " +"there is a \n" +"library available to allow reliable streaming communication on top of it " +"(a la \n" +"TCP)." +" \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 public " +"keys)." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:19 +#, python-format +msgid "" +"To anonymize the messages sent, each client application has their I2P " +"\"router\"\n" +"build a few inbound and outbound \"tunnels\" - 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" +"receiver's threat model." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:33 +#, python-format +msgid "" +"The first time a client wants to contact another client, they make a " +"query \n" +"against the fully distributed \"network \n" +"database\" - a custom structured \n" +"distributed hash table (DHT) based off the \n" +" Kademlia " +"algorithm. 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" +"are required." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:44 +#, python-format +msgid "More details about how I2P works are available." +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" +"functionality, and those that typically use TCP can use the TCP-like " +"streaming\n" +"library. We have a generic TCP/I2P bridge application \n" +"(\"I2PTunnel\") that enables people to " +"forward TCP streams\n" +"into the I2P network as well as to receive streams out of the network and" +" \n" +"forward them towards a specific TCP/IP address." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:60 +msgid "" +"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" +"build an optimized swarming file transfer application (a la \n" +"BitTorrent), a \n" +"distributed data store (a la Freenet / \n" +"MNet), and a blogging system (a " +"fully \n" +"distributed LiveJournal), but" +" those are \n" +"not ready for use yet." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:76 +msgid "" +"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 squid 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" +"certain circumstances the technique could be appropriate." +msgstr "" + +#: i2p2www/pages/site/about/intro.html:90 +#, python-format +msgid "" +"The I2P development team is an open group, " +"welcome to all \n" +"who are interested in getting involved, and" +" all of \n" +"the code is open source. The core I2P SDK " +"and the \n" +"current router implementation is done in Java (currently working with " +"both \n" +"sun and kaffe, gcj support planned for later), and there is a \n" +"simple socket based API 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 roadmap " +"describes \n" +"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 "" +"Following are links to presentations, videos, and tutorials about I2P. " +"Links to research papers on I2P are available here." +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" +"MP3 audio\n" +"transcript\n" +"Lance James (0x90), February 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:27 +#, python-format +msgid "" +"IIP Presentation at ToorCon\n" +"MP3 audio\n" +"slides\n" +"Lance James (0x90), September 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:35 +#, python-format +msgid "" +"To Be or I2P\n" +"(Youtube Video)\n" +"An introduction into anonymous communication with I2P.\n" +"To Be or I2P (PDF presentation),\n" +"Jens Kubieziel, 24C3 Berlin, December 28, 2007." +msgstr "" + +#: i2p2www/pages/site/about/media.html:44 +#, python-format +msgid "" +"Video of I2P talk at Chemnitz Linux Tag,\n" +"Lars Schimmer,\n" +"March 14-15, 2009" +msgstr "" + +#: i2p2www/pages/site/about/media.html:50 +#, python-format +msgid "" +"HOPE New York July 17, 2010 - Brief overview of I2P by zzz, at the end of" +" Adrian Hong's talk\n" +"\"Hackers for Human Rights\".\n" +"MP3 audio" +msgstr "" + +#: i2p2www/pages/site/about/media.html:56 +#, python-format +msgid "" +"Into the I2P Darknet: Welcome to Cipherspace\n" +"Adrian Crenshaw. Schmoocon Firetalk, January 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:61 +#, python-format +msgid "" +"Using techhnology to advance liberty\n" +"(Youtube Video)\n" +"Eric Johnson.\n" +"Agora I/O Unconference, March 27," +" 2011.\n" +"I2P covered from 10:00 to 20:00 in the video." +msgstr "" + +#: i2p2www/pages/site/about/media.html:69 +#, python-format +msgid "" +"The Bright side of darknets, FOSSCOMM Patras May " +"2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:73 +#, python-format +msgid "" +"Common Darknet Weaknesses\n" +"(Youtube Video)\n" +"Adrian Crenshaw, AIDE, July " +"11-15, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:79 +#, python-format +msgid "" +"I2P / Tor Workshop Notes\n" +"Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:84 +#, python-format +msgid "" +"Cipherspaces/Darknets: An Overview Of Attack " +"Strategies -\n" +"DEF CON Live version (Youtube Video),\n" +"\"Studio\" version (Youtube Video),\n" +"Slides (ppt)\n" +"Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:94 +msgid "" +"Modern cipherspace ecosystems, 0x375 " +"0x06 4/11/2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:100 +msgid "Tutorials" +msgstr "" + +#: i2p2www/pages/site/about/media.html:103 +#, python-format +msgid "" +"I2P Windows Tutorial\n" +"(Youtube Video)\n" +"This guide will show you how to install I2P in Windows XP.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:111 +#, python-format +msgid "" +"I2P Debian Tutorial\n" +"(Youtube Video)\n" +"This will guide you through how to install I2P on a Debian Linux System.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:119 +#, python-format +msgid "" +"How to set up anonymous site in I2P\n" +"(Youtube Video)\n" +"How to set up an anonymous web site in I2P.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:126 +#, python-format +msgid "" +"I2P Tutorial Mac OS X\n" +"(Youtube Video)\n" +"A tutorial on how to run i2p on Mac OS X and how to connect to " +"irc.telecomix.i2p.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:133 +#, python-format +msgid "" +"Felix Atari explains the basic principles of I2P" +"\n" +"(Youtube Video)\n" +"Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n" +"By Telecomix" +msgstr "" + +#: i2p2www/pages/site/about/media.html:140 +#, python-format +msgid "" +"How to get onto I2P, the anonymous P2P Darknet " +"(Windows Install)\n" +"(Youtube Video)\n" +"This tutorial shows how to install and configure software needed to " +"access I2P." +msgstr "" + +#: i2p2www/pages/site/about/media.html:146 +#, python-format +msgid "" +"How to connect to I2P\n" +"(Youtube Video)\n" +"How to install I2P on Ubuntu." +msgstr "" + +#: i2p2www/pages/site/about/media.html:152 +#, python-format +msgid "" +"Installing the I2P darknet software in Linux\n" +"(Video)\n" +"Adrian Crenshaw.\n" +"January 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:159 +#, python-format +msgid "" +"Short garlic routing animation\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" +"Part 1\n" +"Part 2\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" +"English translation\n" +"October 31, 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:185 +#, python-format +msgid "" +"2003 Business Week article referencing " +"invisiblenet" +msgstr "" + +#: i2p2www/pages/site/about/media.html:189 +#, python-format +msgid "" +"Netzwelt.de article about being anonymous in the " +"Internet\n" +"(German)\n" +"November 2007." +msgstr "" + +#: i2p2www/pages/site/about/media.html:195 +#, python-format +msgid "" +"zzz interviewed by gulli.com\n" +"March 2009\n" +"German translation\n" +"Russian translation" +msgstr "" + +#: i2p2www/pages/site/about/media.html:204 +#, python-format +msgid "" +"zzz interviewed on the InfoSec Daily Podcast Ep. 454 " +"(mp3)\n" +"August 18, 2011" +msgstr "" + +#: i2p2www/pages/site/about/media.html:209 +#, python-format +msgid "" +"I2P - Anonymity for the Masses,\n" +"Jonathan Cox,\n" +"November 11, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:215 +#, python-format +msgid "" +"zzz and Lance James interviewed on the InfoSec Daily " +"Podcast Ep. 596 (mp3)\n" +"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 "" +"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" +"network.\n" +"Get involved!" +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 "Forum 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 "Monotone 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 +#: i2p2www/pages/site/about/team.html:81 i2p2www/pages/site/about/team.html:91 +#: i2p2www/pages/site/about/team.html:101 +#: 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 +#: i2p2www/pages/site/about/team.html:201 +#: i2p2www/pages/site/about/team.html:219 +#: 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:70 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +#: i2p2www/pages/site/get-involved/bounties/index.html:97 +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 "Webserver 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 "Website 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 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +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 "I2P mail 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 "I2Host lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:119 +msgid "I2Host addressbook application" +msgstr "" + +#: i2p2www/pages/site/about/team.html:122 +#, python-format +msgid "BOB lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:124 +msgid "Basic Open Bridge" +msgstr "" + +#: i2p2www/pages/site/about/team.html:127 +#, python-format +msgid "I2P-Bote lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:129 +msgid "I2PBote plugin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:132 +#, python-format +msgid "Robert lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:134 +msgid "Robert BitTorrent client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:137 +#, python-format +msgid "I2Phex lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:139 +msgid "I2Phex Gnutella client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:142 +#, python-format +msgid "I2PSnark 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 "iMule 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 "Syndie 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 +msgid "Console Translations" +msgstr "" + +#: i2p2www/pages/site/about/team.html:174 +msgid "Chinese" +msgstr "" + +#: i2p2www/pages/site/about/team.html:178 +msgid "Dutch" +msgstr "" + +#: i2p2www/pages/site/about/team.html:182 +msgid "French" +msgstr "" + +#: i2p2www/pages/site/about/team.html:186 +msgid "German" +msgstr "" + +#: i2p2www/pages/site/about/team.html:190 +msgid "Russian" +msgstr "" + +#: i2p2www/pages/site/about/team.html:194 +msgid "Spanish" +msgstr "" + +#: i2p2www/pages/site/about/team.html:198 +msgid "Arabic" +msgstr "" + +#: i2p2www/pages/site/about/team.html:202 +msgid "Other languages" +msgstr "" + +#: i2p2www/pages/site/about/team.html:205 +msgid "Contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:207 +msgid "fire2pe dev, console enhancements" +msgstr "" + +#: i2p2www/pages/site/about/team.html:211 +msgid "desktopgui, dijjer port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:215 +msgid "Debian/Ubuntu Packager and PPA maintainer" +msgstr "" + +#: i2p2www/pages/site/about/team.html:220 +msgid "Help needed on many fronts!" +msgstr "" + +#: i2p2www/pages/site/about/team.html:224 +msgid "Past contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:226 +msgid "I2PTunnel development, ministreaming library" +msgstr "" + +#: i2p2www/pages/site/about/team.html:230 +msgid "Project lead, Syndie lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:234 +msgid "Project lead, Syndie lead, I2Phex, support guru" +msgstr "" + +#: i2p2www/pages/site/about/team.html:238 +msgid "iMule lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:242 +#: i2p2www/pages/site/about/team.html:246 +#: i2p2www/pages/site/about/team.html:250 +msgid "I2Phex work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:254 +msgid "Python SAM library, attack simulations" +msgstr "" + +#: i2p2www/pages/site/about/team.html:258 +msgid "i2pmail development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:262 +msgid "Syndie help" +msgstr "" + +#: i2p2www/pages/site/about/team.html:266 +msgid "i2p mail,susimail and susidns apps" +msgstr "" + +#: i2p2www/pages/site/about/team.html:270 +msgid "I2Phex (port of Phex to I2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:274 +msgid "addressbook,i2p-bt,syndie client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:278 +msgid "organize and develop the i2p-bt BitTorrent port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:282 +msgid "addressbook, i2p-bt, syndie client development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:286 +msgid "encryption and signature routines, I2PIM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:290 +msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:294 +msgid "installer, systray, bogobot" +msgstr "" + +#: i2p2www/pages/site/about/team.html:298 +msgid "jbigi development, wiki migration, doc cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:302 +msgid "java debugging and client development on I2PTunnel and the router console" +msgstr "" + +#: i2p2www/pages/site/about/team.html:306 +msgid "SAM perl module" +msgstr "" + +#: i2p2www/pages/site/about/team.html:310 +msgid "i2psnark work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:314 +msgid "java cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:318 +msgid "docs. wiki migration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:322 +msgid "translations into French" +msgstr "" + +#: i2p2www/pages/site/about/team.html:326 +msgid "C port of jcpuid" +msgstr "" + +#: i2p2www/pages/site/about/team.html:330 +msgid "C# SAM library, pants, fortuna integration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:334 +msgid "libSAM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:338 +#: i2p2www/pages/site/about/team.html:342 +msgid "i2p-bt tracker development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:346 +msgid "Console and website themes" +msgstr "" + +#: i2p2www/pages/site/about/team.html:349 +msgid "… 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 +#: i2p2www/pages/site/docs/protocol/i2np.html:3 +#: i2p2www/pages/site/docs/protocol/index.html:3 +#: i2p2www/pages/site/docs/spec/datagrams.html:3 +#: i2p2www/pages/site/docs/transport/ntcp.html:3 +msgid "August 2010" +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:7 +msgid "" +"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" +"related, and others still are protocol related. However, all of those\n" +"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" +"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 \n" +"Performance History." +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 "" +"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" +"ourselves to a Sybil 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 "" +"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" +"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 "" +"The way the ElGamal/AES+SessionTag " +"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" +"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" +"ElGamal/AES+SessionTag page." +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 ElGamal/AES+SessionTag \n" +"algorithm works by tagging each encrypted message with a unique random \n" +"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" +"new random tag. To accomplish this, every few messages bundle a whole \n" +"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" +"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 "" +"This works fine and is fairly robust, however it is inefficient in terms" +" \n" +"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" +"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" +"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 "" +"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" +"network and CPU load (due to expensive tunnel creation messages)." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:95 +msgid "" +"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" +"so substantial effort would be required to change the duration.\n" +"Also, it would be difficult to maintain backward compatibility with such " +"a change." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:102 +msgid "" +"Currently, since the network average tunnel build success rate is fairly " +"high,\n" +"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 "" +"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" +"doesn't pass our test within 60 seconds \"dead\"?" +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:119 +msgid "" +"Each of those imponderables can be addressed with more adaptive code, as " +"well\n" +"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 "" +"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" +"the router's overall bandwidth limiting, of course." +msgstr "" + +#: i2p2www/pages/site/about/performance/future.html:141 +msgid "" +"Access control lists (only allowing streams to or from certain other " +"known \n" +"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 "" +"Additional ideas for improving the streaming library are described on the" +"\n" +"streaming library page." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:2 +msgid "Performance History" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:4 +#, python-format +msgid "" +"Notable performance improvements have been made using the techniques " +"below.\n" +"There is more to do, see the Performance " +"page\n" +"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 "" +"When I last profiled the I2P code, the vast majority of time was spent " +"within\n" +"one function: java.math.BigInteger's\n" +"modPow.\n" +"Rather than try to tune this method, we'll call out to\n" +"GNU MP - an insanely fast math library\n" +"(with tuned assembler for many architectures). (Editor: see\n" +"NativeBigInteger for faster public key " +"cryptography)" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:23 +#, python-format +msgid "" +"\n" +"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" +"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 "" +"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" +"mihi's ministreaming lib):" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:39 +msgid "" +"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" +"communication is faster. Currently - for all clients - we wrap\n" +"the sender's current LeaseSet in the garlic that is delivered to the " +"recipient,\n" +"so that when they go to reply, they'll always 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" +"If we didn't do this very often,\n" +"overall network bandwidth usage would decrease, since the recipient " +"doesn't\n" +"have to do the network database lookup." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:54 +#, python-format +msgid "" +"For unpublished LeaseSets such as \"shared clients\", this is the only " +"way to\n" +"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" +"necessary, at the beginning of a connection or when the LeaseSet changes." +"\n" +"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" +"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" +"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 "" +"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" +"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 "" +"Outbound tunnel selection implemented in 0.6.1.30, inbound lease " +"selection \n" +"implemented in release 0.6.2." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:97 +msgid "" +"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" +"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 "" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:132 +msgid "Implement full streaming protocol" +msgstr "" + +#: i2p2www/pages/site/about/performance/history.html:134 +msgid "" +"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" +"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 said, having\n" +"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" +"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 "" +"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" +"emphatic yes." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:14 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:23 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:29 +msgid "" +"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." +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 "" +"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" +"In the end: send data, wait for ack, send more data, wait for ack,..\n" +"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" +"latency and other limitations." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:57 +msgid "" +"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" +"Used tunnels are discarded every 10 minutes and new ones are built up.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:66 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:73 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:79 +msgid "" +"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" +"This limits the amount of traffic routed across your I2P node as well." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:86 +msgid "" +"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" +"be lower after a restart/shutdown for a minimum of 24h." +msgstr "" + +#: i2p2www/pages/site/about/performance/index.html:94 +msgid "" +"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." +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" +"Future Performance Improvements." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:2 +msgid "I2P Compared to Freenet" +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:8 +msgid "" +"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" +"static websites and message boards." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:16 +#, python-format +msgid "" +"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" +"store to run on top of I2P,\n" +"(most recently a port of Tahoe-LAFS)\n" +"but nothing is yet ready for general use." +msgstr "" + +#: i2p2www/pages/site/comparison/freenet.html:29 +msgid "" +"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" +"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 "" +"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" +"a comprehensive list of anonymity resources - both freehaven's \n" +"Anonymity " +"Bibliography\n" +"and GNUnet's related " +"projects\n" +"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 other " +"networks page:" +msgstr "" + +#: i2p2www/pages/site/comparison/index.html:32 +#, python-format +msgid "" +"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 new ticket on Trac." +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" +"main network comparisons page.\n" +"You may contribute an analysis by entering a\n" +"new ticket on %(trac)s." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:29 +#, python-format +msgid "" +"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" +"addresses to accomplish the same. The two primary differences between \n" +"these systems and I2P are related to I2P's threat model \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" +"of their use outside of academic environments." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:153 +msgid "" +"\n" +"Mixminion and Mixmaster are networks to support anonymous email against a" +" very\n" +"powerful adversary.\n" +"High-latency messaging applications running on top of I2P\n" +"(for example\n" +"Syndie or\n" +"I2PBote)\n" +"may perhaps prove adequate to meet the threat\n" +"model of those adversaries, while running in parallel along side the " +"needs of low latency users, to provide\n" +"a significantly larger anonymity set.\n" +"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." +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 "" +"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" +"successfully mounted an \n" +"attack \n" +"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" +"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" +"antnet routing, providing some degree of\n" +"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)." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:211 +msgid "" +"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" +"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" +"good writeup on what to look for in a circumvention tool.\n" +"Suffice it to say that being closed source and publicly targeting a " +"specific country are not good ideas.\n" +"I2P is, of course, open source. However, that source, and our\n" +"technical documentation, 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" +"new ticket on %(trac)s." +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 network \n" +"database and peer selection." +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 +#: i2p2www/pages/site/docs/protocol/i2np.html:96 +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 "" +"Much bigger user base; much more visibility in the academic and hacker " +"communities; benefits from\n" +"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 "" +"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)" +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 +msgid "Designed and optimized for exit traffic, with a large number of exit nodes" +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 "" +"Designed and optimized for hidden services, which are much faster than in" +" Tor" +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 +msgid "May 2012" +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" +"The interface between applications and the router is the I2CP (I2P " +"Control Protocol) API." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:19 +#, python-format +msgid "" +"The I2P Project is committed to maintaining accurate, current " +"documentation.\n" +"If you find any inaccuracies in the documents linked below, please\n" +"enter a ticket identifying the " +"problem." +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 +#: 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 "" +"Invisible Internet Project (I2P) Project Overview" +" August 28, 2003 (pdf)" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:38 +msgid "Application-Layer Topics" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:40 i2p2www/pages/site/docs/naming.html:2 +msgid "Naming and Addressbook" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:41 +msgid "Plugins Overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:42 +msgid "Plugin Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:43 +msgid "Router software updates" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:44 +#: i2p2www/pages/site/docs/applications/bittorrent.html:2 +msgid "Bittorrent over I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:45 +msgid "I2PControl Plugin API" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:46 +msgid "hostsdb.blockfile Format" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:47 i2p2www/pages/site/docs/index.html:184 +msgid "Configuration File Format" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:50 +msgid "Application Layer API and Protocols" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:51 +msgid "" +"High-level, easy-to-use APIs for applications written in any language to " +"send and receive data." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:53 +msgid "Application Development Overview and Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:71 +msgid "SAM Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:73 +msgid "SAMv2 Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:75 +msgid "SAMv3 Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:77 +msgid "BOB Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:80 +msgid "End-to-End Transport API and Protocols" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:81 +msgid "" +"The end-to-end protocols used by clients for reliable and unreliable " +"communication." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:83 +#: i2p2www/pages/site/docs/api/streaming.html:2 +msgid "Streaming Library" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:85 +msgid "Streaming Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:89 +msgid "Datagram Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:92 +msgid "Client-to-Router Interface API and Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:93 +msgid "" +"The lowest-level API used for clients (applications) to send and receive " +"traffic to a router.\n" +"Traditionally used only by Java applications and higher-level APIs." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:98 +msgid "I2CP - I2P Control Protocol / API overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:100 +msgid "I2CP Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:102 +msgid "I2CP API Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:104 +#: i2p2www/pages/site/docs/index.html:133 +msgid "Common data structures specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:106 +#: i2p2www/pages/site/docs/index.html:135 +msgid "Data Structures Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:109 +msgid "End-to-End Encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:110 +msgid "How client messages are end-to-end encrypted by the router." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:112 +msgid "ElGamal/AES+SessionTag encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:113 +#: i2p2www/pages/site/docs/index.html:146 +msgid "ElGamal and AES cryptography details" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:116 +#: i2p2www/pages/site/docs/how/tech-intro.html:15 +#: i2p2www/pages/site/docs/how/tech-intro.html:329 +msgid "Network Database" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:117 +msgid "" +"Distributed storage and retrieval of information about routers and " +"clients." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:119 +msgid "Network database overview, details, and threat analysis" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:120 +msgid "Cryptographic hashes" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:121 +msgid "Cryptographic signatures" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:124 +msgid "Router Message Protocol" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:125 +msgid "" +"I2P is a message-oriented router. The messages sent between routers are " +"defined by the I2NP protocol." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:127 +msgid "I2NP - I2P Network Protocol Overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:129 +msgid "I2NP Specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:131 +msgid "I2NP Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:139 +msgid "" +"Selecting peers, requesting tunnels through those peers, and encrypting " +"and routing messages through these tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:141 +msgid "Peer profiling and selection" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:142 +msgid "Tunnel routing overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:143 +msgid "Garlic routing and \"garlic\" terminology" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:144 +msgid "Tunnel building and encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:145 +msgid "ElGamal/AES" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:145 +msgid "for build request encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:147 +msgid "Tunnel building specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:148 +msgid "Low-level tunnel message specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:149 +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2 +msgid "Unidirectional Tunnels" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:150 +#: i2p2www/pages/site/docs/how/peer-selection.html:299 +msgid "Peer Profiling and Selection in the I2P Anonymous Network" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:151 +msgid "2009 paper (pdf), not current but still generally accurate" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:154 +msgid "Transport Layer" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:155 +msgid "The protocols for direct (point-to-point) router to router communication." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:159 +msgid "TCP-based transport overview and specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:161 +msgid "UDP-based transport overview" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:163 +msgid "SSU specification" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:165 +msgid "NTCP transport encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:167 +msgid "SSU transport encryption" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:169 +msgid "Transport Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:171 +msgid "NTCP Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:173 +msgid "SSU Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:176 +msgid "Other Router Topics" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:178 +msgid "Native BigInteger Library" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:180 +msgid "Time synchronization and NTP" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:187 +msgid "Developer's Guides and Resources" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:189 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:2 +msgid "New Developer's Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:191 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:2 +msgid "New Translator's Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:193 +#: i2p2www/pages/site/get-involved/guides/monotone.html:4 +msgid "Monotone Guide" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:195 +msgid "Developer Guidelines" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:197 +msgid "Javadocs on the standard internet:" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:198 +#: i2p2www/pages/site/docs/index.html:202 +#: i2p2www/pages/site/docs/index.html:203 +#: i2p2www/pages/site/docs/index.html:204 +#, python-format +msgid "Server %(num)s" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:199 +#: i2p2www/pages/site/docs/index.html:208 +msgid "" +"Note: always verify that javadocs are current by checking the release " +"number." +msgstr "" + +#: i2p2www/pages/site/docs/index.html:201 +msgid "Javadocs inside I2P:" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:210 +msgid "Ports used by I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:212 +msgid "Automatic updates to development builds inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:214 +msgid "Updating the wrapper manually" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:216 +msgid "User forum" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:218 +msgid "Developer forum inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:222 +msgid "Viewmtn inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:224 +msgid "I2P Source exported to GitHub" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:226 +msgid "I2P Source Git Repo inside I2P" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:228 +msgid "Source translation at Transifex" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:230 +msgid "Roadmap wiki" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:232 +msgid "Old roadmap" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:232 +#: i2p2www/pages/site/docs/index.html:234 +msgid "not current" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:234 +#: 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 +#: i2p2www/pages/site/docs/spec/common-structures.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 addressbook. \n" +"I2P also supports Base32 hostnames similar to " +"Tor's .onion addresses." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:16 +msgid "" +"The addressbook is a web-of-trust\n" +"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" +"traditional DNS." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:30 +#, python-format +msgid "" +"NOTE: For the reasoning behind the I2P naming system, common arguments " +"against it\n" +"and possible alternatives see the naming" +" discussion\n" +"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 "" +"The client application which does local lookups " +"in hosts.txt\n" +"and also takes care of the Base32 hostnames." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:56 +msgid "" +"The HTTP proxy which asks the router for " +"lookups and points\n" +"the user to remote jump services to assist with failed lookups." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:60 +msgid "" +"HTTP host-add forms which allow users to " +"add hosts to their local hosts.txt" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:63 +msgid "" +"HTTP jump services which provide their own" +" lookups and redirection." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:66 +msgid "" +"The addressbook application which merges " +"external\n" +"host lists, retrieved via HTTP, with the local list." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:70 +msgid "" +"The SusiDNS application which is a simple web " +"front-end\n" +"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" +"(To be more precise, it is a 256-byte public key plus a 128-byte signing " +"key\n" +"plus a null certificate, which in Base64 representation is 516 bytes.\n" +"Certificates are not " +"used now,\n" +"if they are, the keys will be longer.\n" +"One possible use of certificates is for proof of work.)" +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" +"The client application (technically, the client side of I2CP in the I2P " +"API)\n" +"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" +"There is an experimental facility for real-time lookups (a la DNS) over " +"the network within the router,\n" +"although it is not enabled by default\n" +"(see \"EepGet\" under Alternatives on the discussion" +" page)." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:116 +msgid "HTTP Proxy" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:118 +msgid "" +"The HTTP proxy does a lookup via the router for all hostnames ending in " +"'.i2p'.\n" +"Otherwise, it forwards the request to a configured HTTP outproxy.\n" +"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-" +"Top Level Domain '.i2p'." +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 http://www.i2p2.i2p/hosts.txt,\n" +"which contains a copy of the hosts.txt included\n" +"in the I2P release.\n" +"Users must configure additional subscriptions in their\n" +"local addressbook application (via subscriptions.txt or SusiDNS)." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:158 +msgid "Some other public addressbook subscription links:" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:165 +msgid "" +"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/docs/naming.html:170 +#: i2p2www/pages/site/docs/naming.html:182 +msgid "Naming Rules" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:171 +msgid "" +"While there are hopefully not any technical limitations within I2P on " +"host names,\n" +"the addressbook enforces several restrictions on host names\n" +"imported from subscriptions.\n" +"It does this for basic typographical sanity and compatibility with " +"browsers,\n" +"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 "" +"Names are checked for conflict with existing names in the existing " +"userhosts.txt and hosts.txt\n" +"(but not privatehosts.txt) after conversion to lower case." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:195 +msgid "Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case." +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" +"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, " +"*.console.i2p, and others)" +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 "" +"Any name received via subscription that passes all the checks is added to" +" the local hosts.txt." +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 "" +"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" +"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:270 +msgid "" +"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" +"\"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" +"(traditionally hosts.txt in the local eepsite's home directory) to be " +"accessed by others\n" +"for their subscriptions.\n" +"This step is optional and is disabled by default." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:285 +msgid "" +"The addressbook application, together with eepget, saves the Etag and/or " +"Last-Modified\n" +"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" +"Also ensure that the server delivers a '304 Not Modified' when " +"appropriate.\n" +"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 "" +"A host add service is a simple CGI application that takes a hostname and " +"a Base64 key as parameters\n" +"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 "" +"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:" +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 "" +"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 " +"?i2paddresshelper=key\n" +"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 "" +"SusiDNS is simply a web interface front-end to configuring addressbook " +"subscriptions\n" +"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 "" +"Currently, there is little enforcement of addressbook naming rules within" +" SusiDNS,\n" +"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" +"Example: " +"ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p" +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:407 +msgid "" +"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 " +"hash.\n" +"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" +"Base32 lookups will only be successful when the Destination is up and " +"publishing\n" +"a LeaseSet.\n" +"Because resolution may require a network database lookup, it may take " +"significantly\n" +"longer than a local address book lookup." +msgstr "" + +#: i2p2www/pages/site/docs/naming.html:419 +msgid "" +"Base32 addresses can be used in most places where hostnames or full " +"destinations\n" +"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 +#: i2p2www/pages/site/docs/how/network-database.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 "" +"There are now plugins available that support distributed email, blogs, " +"IRC\n" +"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 i2pupdate.sud" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:33 +msgid "" +"Support large or special-purpose applications that would never be bundled" +"\n" +"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 "" +"Separate initial install and update packages, if desired, for smaller " +"update downloads" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:50 +msgid "" +"One-click installation of applications. No more asking users to modify\n" +"wrapper.config or clients.config" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:55 +msgid "Isolate applications from the base $I2P 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 +msgid "Automatic integration and startup of webapps into console Jetty instance" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:76 +#, python-format +msgid "" +"Facilitate creation of 'app stores' like the one at\n" +"%(pluginsite)s" +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 "" +"To install and start a plugin, copy the .xpi2p install link " +"to\n" +"the form at the bottom of\n" +"configclients.jsp" +" in\n" +"your router console and click the \"install plugin\" button. After a" +"\n" +"plugin is installed and started, a link to the plugin will usually appear" +" at\n" +"the top of your summary bar." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:112 +msgid "" +"To update a plugin to the latest version, just click the update button on" +"\n" +"configclients.jsp." +"\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" +"builds)." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:122 +msgid "Development" +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:123 +#, python-format +msgid "" +"See the latest plugin specification and " +"the\n" +"plugin forum on %(zzz)s." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:128 +#, python-format +msgid "" +"See also the sources for plugins developed by various people. Some " +"plugins, such\n" +"as snowman, were " +"developed\n" +"specifically as examples." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:134 +msgid "" +"Developers wanted! Plugins are a great way to learn more about I2P" +"\n" +"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" +"makeplugin.sh from the i2p.scripts branch in " +"monotone." +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 NOT 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" +"the plugin was already run, as it requires class loader trickery to flush" +" the\n" +"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 "" +"Plugins running in a separate JVM create a logs/ directory " +"in\n" +"$CWD." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:168 +msgid "" +"No initial keys are present, except for those of jrandom and zzz (using " +"the\n" +"same keys as for router update), so the first key seen for a signer is\n" +"automatically accepted—there is no signing key authority." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:174 +msgid "" +"When deleting a plugin, the directory is not always deleted, especially " +"on\n" +"Windows." +msgstr "" + +#: i2p2www/pages/site/docs/plugins.html:179 +msgid "" +"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." +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 "" +"These are the ports used or reserved by I2P, including those for known " +"plugins,\n" +"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 the FAQ.\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 "" + +#: i2p2www/pages/site/docs/ports.html:51 +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" +"This is to reduce any extra complexity in the router code, it also adds " +"to\n" +"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 "KEYS = keypair public+private, these are BASE64" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:40 +msgid "KEY = public key, also BASE64" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:43 +msgid "" +"ERROR as is implied returns the message \"ERROR " +"\"+DESCRIPTION+\"\n" +"\", where the DESCRIPTION is what went wrong." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:46 +msgid "" +"OK returns \"OK\", and if data is to be " +"returned, it is on the same line. OK means the command is " +"finished." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:49 +msgid "" +"DATA lines contain information that you requested. There may" +" be multiple DATA lines per request." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:53 +msgid "" +"NOTE: The help command is the ONLY command that has an exception " +"to\n" +"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 "" +"PLEASE NOTE:\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:65 +msgid "" +"Commands never get obsoleted or changed, however new commands do get " +"added from time to time." +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 "" +"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!" +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:108 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:120 +msgid "" +"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" +"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 "" +"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" +"to the CHARGEN service on 19/TCP." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:159 +msgid "Now for the other half, so that we can actually contact this destination." +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" +"send the destination key or host address from addressbook we want to " +"contact.\n" +"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 "" +"NOTE: The \"quit\" command in the command channel does NOT " +"disconnect the tunnels like SAM." +msgstr "" + +#: i2p2www/pages/site/docs/api/bob.html:203 +msgid "After a few virtual miles of this spew, press Control-]" +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 "" +"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." +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 "" +"Now to remove \"ear\", note that this is what happens when you type too " +"fast,\n" +"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 "" +"Datagrams build upon the base I2CP 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" +"message and sender are authenticated by signing the payload." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:16 +#, python-format +msgid "" +"Datagrams, like streaming library packets,\n" +"are an application-level construct.\n" +"These protocols are independent of the low-level transports;\n" +"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" +"datagram API,\n" +"while applications in other languages \n" +"can use SAM's datagram support.\n" +"There is also limited support in i2ptunnel in the SOCKS proxy,\n" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:45 +#, python-format +msgid "" +"Also note that the various overheads added by lower layers, in particular" +" asymmetric\n" +"ElGamal/AES, 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" +"the ElGamal Session Tag parameters." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:55 +msgid "I2CP Protocol Number and Ports" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:56 +msgid "" +"The standard I2CP protocol number for datagrams is 17. Applications may " +"or may not choose to set the\n" +"protocol in the I2CP header. It is not set by default.\n" +"It must be set to demultiplex datagram and streaming traffic received on " +"the same Destination." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:62 +#, python-format +msgid "" +"As datagrams are not connection-oriented, the application may require\n" +"port numbers to correlate datagrams with particular peers or " +"communications sessions,\n" +"as is traditional with UDP over IP.\n" +"Applications may add 'from' and 'to' ports to the I2CP (gzip) header as " +"described in\n" +"the I2CP page." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:70 +msgid "" +"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" +"The I2CP protocol number or port could also be used by the application to" +"\n" +"indicate datagram type." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:77 +#, python-format +msgid "" +"The protocols and ports may be set in I2CP's\n" +"I2PSession API,\n" +"as implemented in\n" +"I2PSessionMuxedImpl." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:85 +#: i2p2www/pages/site/docs/api/streaming.html:325 +msgid "Data Integrity" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:86 +#, python-format +msgid "" +"Data integrity is assured by the gzip CRC-32 checksum implemented in\n" +"the I2CP layer.\n" +"There is no checksum field in the datagram protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:92 +#: i2p2www/pages/site/docs/api/streaming.html:333 +msgid "Packet Encapsulation" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:93 +#, python-format +msgid "" +"Each datagram is sent through I2P as a single message (or as an " +"individual clove in a\n" +"Garlic Message).\n" +"Message encapsulation is implemented in the underlying\n" +"I2CP,\n" +"I2NP, and\n" +"tunnel message layers.\n" +"There is no packet delimiter mechanism or length field in the datagram " +"protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:106 +#: i2p2www/pages/site/docs/spec/datagrams.html:10 +#: i2p2www/pages/site/docs/transport/ssu.html:547 +msgid "Specification" +msgstr "" + +#: i2p2www/pages/site/docs/api/datagrams.html:108 +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 "" +"I2P enables a JSONRPC2 interface via the plugin I2PControl.\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 JSON-RPC 2.0. \n" +"A list of implementations of JSON-RPC for various languages can be found " +"at the JSON-RPC " +"wiki." +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 +#: i2p2www/pages/site/docs/spec/common-structures.html:229 +#: i2p2www/pages/site/docs/spec/common-structures.html:298 +#: i2p2www/pages/site/docs/spec/common-structures.html:349 +#: i2p2www/pages/site/docs/spec/common-structures.html:395 +#: i2p2www/pages/site/docs/spec/common-structures.html:442 +#: i2p2www/pages/site/docs/spec/common-structures.html:568 +#: i2p2www/pages/site/docs/spec/common-structures.html:623 +msgid "Description" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:30 +msgid "" +"Token used for authenticating every request (excluding the 'Authenticate'" +" RPC method)" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:38 +msgid "Implemented methods" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:39 +msgid "" +"Creates and returns an authentication token used for further " +"communication." +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 "" +"Token used for authenticating the client. Is provided by the server via " +"the 'Authenticate' RPC method." +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 ratestats." +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 +msgid "Returns true if any changes requiring a restart to take effect were made." +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 "" +"Initiates a router reseed, fetching peers into our NetDB from a remote " +"host." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:139 +msgid "Restarts the router." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:140 +msgid "" +"Restarts the router gracefully (waits for participating tunnels to " +"expire)." +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 +msgid "Fetches or sets various network related settings. Ports, addresses etc." +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 "" +"What hostname is used for the TCP transport. If null is submitted, " +"current setting will be returned." +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 "" +"What hostname is used for the UDP transport. If null is submitted, " +"current setting will be returned." +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 +msgid "Is UPnP enabled. If null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:163 +msgid "" +"How many percent of bandwidth is usable for participating tunnels. If " +"null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:164 +msgid "" +"How many KB/s of inbound bandwidth is allowed. If null is submitted, " +"current setting will be returned." +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 "" +"Is laptop mode enabled (change router identity and UDP port when IP " +"changes ). If null is submitted, current setting will be returned." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:167 +msgid "" +"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." +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 "" +"If requested, returns the method used for automatically detecting ip for " +"the TCP transport." +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 "" +"If requested, returns methods used for detecting the ip address of the " +"UDP transport." +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 "" +"The version of the I2PControl API used wasn't specified, but is required " +"to be specified." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2pcontrol.html:202 +msgid "" +"The version of the I2PControl API specified is not supported by " +"I2PControl." +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" +"Destination of an I2PTunnel can be defined using a hostname,\n" +"Base32, 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" +"for the service and it will become avaliable throughout I2P.\n" +"A web interface for I2PTunnel management is avaliable on\n" +"localhost:7657/i2ptunnel/." +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 "" +"I2P Webserver - A tunnel pointed to a Jetty webserver run\n" +"on localhost:7658 for convenient " +"and quick hosting on I2P.\n" +"
    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 "" +"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." +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 "" +"The anonymous monotone" +"\n" +"sourcecode repository for I2P" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:47 +#, python-format +msgid "" +"A SMTP service provided by postman at %(postman)s" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:50 +#, python-format +msgid "" +"The accompanying POP sevice of postman at %(postman)s" +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:63 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:68 +msgid "" +"Accept, Accept-Charset, Accept-Encoding, Accept-Language\n" +" and Accept-Ranges as they vary greatly between browsers and can be " +"used as an identifier." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:76 +msgid "" +"HTTP client/server tunnels are via I2Ptunnel force-enabling compression " +"via the following http headers:" +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:83 +msgid "" +"Depending on if the tunnel is using an outproxy or not it will append the" +" following User-Agent:" +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 "" +"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." +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 "" +"Enables using the I2P router as a SOCKS proxy with the command whitelist " +"specified by\n" +"IRC 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 "" +"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr " +"client tunnel will \n" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:150 +msgid "" +"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" +"requests, or loopback-testing an eepsite as a diagnostic tool." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:157 +msgid "" +"Creates a destination that filters the reqistration sequence of a client " +"and passes \n" +"the clients destination key as a hostname to the IRC-server." +msgstr "" + +#: i2p2www/pages/site/docs/api/i2ptunnel.html:163 +msgid "" +"A UDP-client that connects to a media server is created. The UDP-Client " +"is coupled with a Streamr server I2PTunnel." +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\" streaming library.\n" +"Ministreaming is deprecated and is incompatible with today's " +"applications.\n" +"The following documentation is old.\n" +"Also note that streaming extends ministreaming in the same Java package " +"(net.i2p.client.streaming),\n" +"so the current API documentation contains both.\n" +"Obsolete ministreaming classes and methods are clearly marked as " +"deprecated in the Javadocs." +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" +"I2CP that allows reliable, in order, and " +"authenticated streams\n" +"of messages to operate across an unreliable, unordered, and " +"unauthenticated \n" +"message layer. Just like the TCP to IP relationship, this streaming \n" +"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" +"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" +"I2PTunnel 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" +"the ministreaming library are its use of the traditional TCP two phase \n" +"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 significant. 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." +msgstr "" + +#: i2p2www/pages/site/docs/api/ministreaming.html:45 +#, python-format +msgid "" +"Even with those issues, the ministreaming library performs quite well in " +"many\n" +"situations, and its API\n" +"is both quite simple and capable of remaining unchanged as different " +"streaming\n" +"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" +"access the API directly, while developers in other languages can use it " +"through\n" +"SAM'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" +"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are " +"supported.\n" +"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 FAQ:" +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" +"this, thus using I2P to 'socksify' existing applications is possible, but" +"\n" +"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 Meeting 81 and\n" +"Meeting 82 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" +"datagram library." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:18 +#, python-format +msgid "" +"The streaming library is a layer on top of the core \n" +"I2CP API that allows reliable, in-order, and " +"authenticated streams\n" +"of messages to operate across an unreliable, unordered, and " +"unauthenticated \n" +"message layer. Just like the TCP to IP relationship, this streaming \n" +"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" +"allow alternative optimized implementations." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:29 +msgid "" +"In consideration of the relatively high cost of messages, \n" +"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" +"the small HTTP request payload, and the reply bundles the SYN,\n" +"FIN, ACK, and the HTTP response payload. While an additional\n" +"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" +"immediately." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:42 +msgid "" +"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" +"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 "" +"The streaming library API provides a standard socket paradigm to Java " +"applications.\n" +"The lower-level I2CP API is completely hidden, " +"except that\n" +"applications may pass I2CP parameters " +"through the\n" +"streaming library, to be interpreted by I2CP." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:67 +#, python-format +msgid "" +"The standard interface to the streaming lib is for the application to use" +" the\n" +"I2PSocketManagerFactory to create an\n" +"I2PSocketManager. The application then asks " +"the\n" +"socket manager for an I2PSession, which will " +"cause\n" +"a connection to the router via I2CP. The " +"application\n" +"can then setup connections with an I2PSocket " +"or\n" +"receive connections with an I2PServerSocket." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:82 +#, python-format +msgid "Here are the full streaming library Javadocs." +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" +"Options are case-sensitive and may be set for the whole router, for a " +"particular client, or for an individual socket on a\n" +"per-connection basis.\n" +"Many values are tuned for HTTP performance over typical I2P conditions. " +"Other applications such\n" +"as peer-to-peer services are strongly encouraged to\n" +"modify as necessary, by setting the options and passing them via the call" +" to\n" +"I2PSocketManagerFactory.createManager(_i2cpHost," +" _i2cpPort, opts).\n" +"Time values are in ms." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:103 +#, python-format +msgid "" +"Note that higher-layer APIs, such as SAM,\n" +"BOB, and I2PTunnel," +"\n" +"may override these defaults with their own defaults.\n" +"Also note that many options only apply to servers listening for incoming " +"connections." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:110 +msgid "" +"As of release 0.9.1, most, but not all, options may be changed on an " +"active socket manager or session.\n" +"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 +#: i2p2www/pages/site/docs/spec/common-structures.html:205 +#: i2p2www/pages/site/docs/spec/common-structures.html:261 +#: i2p2www/pages/site/docs/spec/common-structures.html:341 +#: i2p2www/pages/site/docs/spec/common-structures.html:431 +#: i2p2www/pages/site/docs/spec/common-structures.html:541 +#: i2p2www/pages/site/docs/spec/common-structures.html:608 +#: i2p2www/pages/site/docs/spec/common-structures.html:709 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 +#: i2p2www/pages/site/docs/spec/datagrams.html:90 +msgid "Notes" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:119 +msgid "" +"Comma- or space-separated list of Base64 peer Hashes used for either " +"access list or blacklist." +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" +"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" +"router in a separate JVM and context." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:151 +msgid "" +"How much transmit data (in bytes) will be accepted that hasn't been " +"written out yet." +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" +"of 1/(windowSize*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:162 +msgid "" +"How long to wait after instantiating a new con \n" +"before actually attempting to connect. If this is\n" +"<= 0, connect immediately with no initial data. If greater than 0, " +"wait\n" +"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 "" +"How long to block on connect, in milliseconds. Negative means " +"indefinitely. Default is 5 minutes." +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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:188 +msgid "" +"(0=noop, 1=disconnect)\n" +"What to do on an inactivity timeout - do nothing, disconnect, or send a " +"duplicate ack." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:196 +msgid "" +"The initial value of the resend delay field in the packet header, times " +"1000.\n" +"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 sharing data available" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:203 +msgid "" +"In standard TCP, window sizes are in bytes, while in I2P, window sizes " +"are in messages." +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" +"This doesn't currently do anything, but setting it to a value other than " +"1 will cause an error." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:265 +msgid "How long to block on read, in milliseconds. Negative means indefinitely." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:298 +msgid "" +"The initiator may send additional data packets, up to the initial window " +"size, before receiving the SYNCHRONIZE response.\n" +"These packets will also have the send Stream ID field set to 0.\n" +"Recipients must buffer packets received on unknown streams for a short " +"period of time, as they may\n" +"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 "" +"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" +"a large amount of overhead.\n" +"The MTU is specified by the option i2p.streaming.maxMessageSize.\n" +"The current default MTU of 1730 was chosen to fit precisely into two 1K " +"I2NP tunnel messages,\n" +"including overhead for the typical case." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:315 +msgid "" +"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." +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" +"the I2CP layer.\n" +"There is no checksum field in the streaming protocol." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:334 +#, python-format +msgid "" +"Each packet is sent through I2P as a single message (or as an individual " +"clove in a\n" +"Garlic Message). Message encapsulation " +"is implemented\n" +"in the underlying I2CP, I2NP, and\n" +"tunnel message layers. There is no " +"packet delimiter\n" +"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 "" +"The streaming lib uses standard slow-start (exponential window growth) " +"and congestion avoidance (linear window growth)\n" +"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 "" +"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" +"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" +"RFC 2140).\n" +"There is a separate share per ConnectionManager (i.e. per local " +"Destination)\n" +"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 "" +"The following parameters are hardcoded, but may be of interest for " +"analysis:" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:393 +#: i2p2www/pages/site/docs/how/network-database.html:785 +msgid "History" +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:394 +msgid "" +"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" +"and is a reasonable tradeoff between the bandwidth costs of \n" +"retransmitting lost messages, and the latency and overhead of multiple " +"messages." +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 +#: i2p2www/pages/site/docs/how/network-database.html:790 +#: 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 +#: i2p2www/pages/site/docs/protocol/i2np.html:235 +#: i2p2www/pages/site/docs/spec/updates.html:126 +#: i2p2www/pages/site/docs/transport/ntcp.html:445 +#: i2p2www/pages/site/docs/transport/ssu.html:482 +#: 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 "" +"Another area for research is the interaction of the streaming lib with " +"the\n" +"NTCP and SSU transport layers.\n" +"See the NTCP discussion page for details." +msgstr "" + +#: i2p2www/pages/site/docs/api/streaming.html:423 +msgid "" +"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" +"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 "" +"zzz has added debug code to the streaming library to log packets in a " +"wireshark-compatible\n" +"(pcap) format; Use this to further analyze performance.\n" +"The format may require enhancement to map more streaming lib parameters " +"to TCP fields." +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" +"changes are required to tracker and client software for operation on I2P." +"\n" +"These changes are specified below.\n" +"Note carefully the guidelines for compatibility with older I2P clients " +"and trackers." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:15 +msgid "" +"This page specifies protocol details common to all clients and trackers.\n" +"Specific clients and trackers may implement other unique features or " +"protocols." +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 "" +"Clients generally include a fake port=6881 parameter in the announce, for" +" compatibility with older trackers.\n" +"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" +"Destination,\n" +"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n" +"Destinations\n" +"are 387+ bytes, so the Base 64 is 516+ bytes.\n" +"Clients generally append \".i2p\" to the Base 64 Destination for " +"compatibility with older trackers.\n" +"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 "" +"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" +"the tracker should probably decode and reject bad Base64 when announced." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:53 +msgid "" +"The default response type is non-compact. Clients may request a compact " +"response with\n" +"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" +"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" +"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 "" +"Trackers generally include a fake port key, or use the port from the " +"announce, for compatibility with older clients.\n" +"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" +"Destination, 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" +"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 "" +"In the compact response, the value of the \"peers\" dictionary key is a " +"single byte string,\n" +"whose length is a multiple of 32 bytes.\n" +"This string contains the concatenated\n" +"32-byte SHA-256 Hashes\n" +"of the binary\n" +"Destinations\n" +"of the peers.\n" +"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" +"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 "" +"While compact response support is optional for both clients and trackers," +" it is highly\n" +"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 "" +"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" +"client's\n" +"Destination\n" +"using HTTP headers added by the I2PTunnel HTTP Server tunnel.\n" +"The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which " +"are\n" +"different formats for the same information.\n" +"These headers cannot be spoofed by the client.\n" +"A tracker enforcing destinations need not require the ip announce " +"parameter at all." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:129 +msgid "" +"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" +"those clients are converted to announcing over their own tunnel." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:135 +msgid "" +"Unfortunately, as the network grows, so will the amount of maliciousness," +"\n" +"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" +"I2P naming standards.\n" +"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." +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 "" +"I2P uses 387+ byte Destinations\n" +"for addresses, as explained above." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:170 +msgid "" +"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" +"which will return the full Destination if available." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:176 +msgid "" +"If the client has a peer's full Destination it received in a non-compact " +"response, it should use it\n" +"directly in the connection setup.\n" +"Do not convert a Destination back to a Base 32 hash for lookup, this is " +"quite inefficient." +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" +"I2P bittorrent clients generally do not support non-I2P announces or peer" +" connections.\n" +"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 "" +"To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers " +"often\n" +"block accesses or announces that contain an X-Forwarded-For HTTP header.\n" +"Trackers should reject standard network announces with IPv4 or IPv6 IPs, " +"and not deliver them in responses." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:200 +#, python-format +msgid "" +"I2P PEX is based on ut_pex.\n" +"As there does not appear to be a formal specification of ut_pex " +"available,\n" +"it may be necessary to review the libtorrent source for assistance.\n" +"It is an extension message, identified as \"i2p_pex\" in\n" +"the extension " +"handshake.\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" +"These byte strings are the concatenated SHA-256 Hashes of the binary\n" +"Destinations\n" +"of the peers.\n" +"This is the same format as the peers dictionary value in the i2p compact " +"response format specified above.\n" +"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" +"BEP 5\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 "" +"Unlike standard DHT, I2P DHT does not use a bit in the options handshake," +" or the PORT message.\n" +"It is advertised with an extension message, identified as \"i2p_dht\" in\n" +"the extension " +"handshake.\n" +"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", " +"both integers." +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" +"In a response, the \"values\" key is a list of strings, each containing a" +" single compact peer info." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:260 +msgid "" +"Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + " +"2 byte port)\n" +"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" +"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" +"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 "Plus d'infos" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:287 +#, python-format +msgid "" +"I2P bittorrent standards are generally discussed on %(zzz)s." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:290 +#, python-format +msgid "" +"A chart of current tracker software capabilities is also available there." +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:293 +#, python-format +msgid "" +"The\n" +"I2P bittorrent FAQ" +msgstr "" + +#: i2p2www/pages/site/docs/applications/bittorrent.html:297 +#, python-format +msgid "DHT on I2P discussion" +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" +"Trac, and be sure to select the" +"\n" +"“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 "" +"Bundled application — 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 "" +"Third-party plugin — 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](http://%(plugins)s) 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 "" +"Third-party standalone application — Many standard network\n" +"applications only require careful setup and configuration to communicate\n" +"anonymously over I2P. These are tagged with standalone. Some\n" +"applications, tagged with standalone/mod, 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 "" +"Third-party essential network service — 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 "" +"Unmaintained — 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" +"doesn't automatically protect your anonymity. I2P is merely a set of " +"tools\n" +"which can help you mitigate certain identified\n" +"threats to anonymity. We do not and cannot make any guarantees about " +"the\n" +"safety of the applications, plugins, and services listed below. Most\n" +"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" +"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" +"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" +"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" +"seek expert advice, educate yourself, practice good judgment, be mindful " +"of\n" +"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 here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:236 +#, python-format +msgid "" +"Port of the Tahoe-" +"LAFS\n" +"distributed file system to the I2P network. Controller plugin here." +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" +"used in I2P development." +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 I2P naming system somewhat\n" +"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n" +"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" +"Base64 addresses. (Note: 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" +"and email gateway service between the I2P network and the public Internet" +"\n" +"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" +"here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:369 +msgid "" +"The code that powered one of the first major tracker/indexer sites on the" +"\n" +"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 I2P Monotone repository." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:387 +#, python-format +msgid "" +"zzz's Java-based open tracker. More info\n" +"here." +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 "" +"Port of the Phex Gnutella " +"client. Website\n" +"for plugin version here." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:418 +#, python-format +msgid "" +"Cache for Gnutella peers on I2P. Website for plugin version\n" +"here." +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 "" +"Proxy providing simple, transparent SOCKS-ification of network " +"applications." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:458 +msgid "" +"Most popular implementation of the Secure Shell (SSH) protocol and " +"related tools." +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" +"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" +"completely blocked, except for CTCP ACTION (the message emitted by the\n" +"/me command) which isn't inherently dangerous." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:494 +msgid "" +"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" +"sniffers such as Wireshark are\n" +"useful here. Eliminating remaining leaks may be as simple as changing the" +"\n" +"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 here." +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 "" +"Any website hosted anonymously on I2P, reachable through the I2P router's" +" HTTP proxy." +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 sponge's 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 zzz's 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 "tino's inproxy on the public Internet." +msgstr "" + +#: i2p2www/pages/site/docs/applications/supported.html:642 +msgid "" +"Gateways allowing I2P users to access content hosted on the public " +"Internet." +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" +"integrated with a bundled copy of Jetty which by default is configured to" +"\n" +"host the user's eepsite. The " +"bundled\n" +"Jetty also serves the I2P router console and web applications bundled " +"with\n" +"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 "" +"NOTE: The following is a discussion of the reasons behind the I2P naming " +"system,\n" +"common arguments and possible alternatives.\n" +"See the naming page 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:19 +msgid "" +"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" +"hostile certificate authority attacks." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:33 +msgid "" +"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" +"full network is not queried, different sets of answers may be reachable." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:42 +msgid "" +"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 alternate naming systems can\n" +"plug into, allowing end users to drive what sort of naming tradeoffs they" +" prefer." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:50 +msgid "" +"See also Names: " +"Decentralized, Secure, Human-Meaningful: Choose Two." +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" +"do not agree on one address and if some addresses are working, others are" +" not? \n" +"Who is the right source of a name?" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:64 +msgid "" +"A:\n" +"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 not globally" +" \n" +"unique. This is by design, and an inherent part of our need for " +"security." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:70 +msgid "" +"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 locally unique: " +"they are \n" +"what you 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\"." +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 "" +"Inefficiency:\n" +"The whole hosts.txt is downloaded (if it has changed, since eepget uses " +"the etag and last-modified headers).\n" +"It's about 400K right now for almost 800 hosts." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:94 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:99 +msgid "" +"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" +"last requested the data.\n" +"Others have suggested asking for specific keys only (similar to what jump" +" services do, but\n" +"in a more automated fashion), possibly at a further cost in anonymity." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:106 +#, python-format +msgid "" +"Possible improvements would be a replacement or supplement to addressbook" +" (see %(i2host)sp),\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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:112 +#, python-format +msgid "" +"A sample implementation is on stats.i2p at\n" +"%(url)s.\n" +"This script returns an Etag with a timestamp.\n" +"When a request comes in with the If-None-Match etag,\n" +"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" +"does not know about, in an addressbook-compatible manner." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:121 +msgid "" +"So the inefficiency is not a big issue and there are several ways to " +"improve things without\n" +"radical change." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:127 +msgid "" +"Not Scalable:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:139 +msgid "" +"Requires configuration and \"trust\":\n" +"Out-of-the-box addressbook is only subscribed to " +"http://www.i2p2.i2p/hosts.txt, which is rarely updated,\n" +"leading to poor new-user experience." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:144 +msgid "" +"This is very much intentional. jrandom wants a user to \"trust\" a " +"hosts.txt\n" +"provider, and as he likes to say, \"trust is not a boolean\".\n" +"The configuration step attempts to force users to think about issues of " +"trust in an anonymous network." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:149 +msgid "" +"As another example, the \"Eepsite Unknown\" error page in the HTTP Proxy\n" +"lists some jump services, but doesn't \"recommend\" any one in " +"particular,\n" +"and it's up to the user to pick one (or not).\n" +"jrandom would say we trust the listed providers enough to list them but " +"not enough to\n" +"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 "It isn't DNS" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:166 +msgid "" +"Unfortunately real-time lookups over i2p would significantly slow down " +"web browsing." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:169 +msgid "" +"Also, DNS is based on lookups with limited caching and time-to-live, " +"while i2p\n" +"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 "" +"Not reliable:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:190 +msgid "" +"People advocating all-authoritative solutions generally haven't thought " +"through\n" +"the issues of conflicts and hijacking, however." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:196 +msgid "" +"Awkward, not real-time:\n" +"It's a patchwork of hosts.txt providers, key-add web form providers, jump" +" service providers,\n" +"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 "" +"So, in summary, the current system is not horribly broken, inefficient, " +"or un-scalable,\n" +"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 "" +"The I2P source contains several pluggable naming systems and supports " +"configuration options\n" +"to enable experimentation with naming systems." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:218 +msgid "" +"Meta - 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 "" +"PetName - 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 "HostsTxt - Looks up in the following files, in order:" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:234 +msgid "" +"AddressDB - Each host is listed in a separate file in a addressDb/" +" directory." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:237 +msgid "" +"Eepget - 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 "" +"Exec - 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 "Dummy - used as a fallback for Base64 names, otherwise fails." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:253 +msgid "" +"The current naming system can be changed with the advanced config option " +"'i2p.naming.impl'\n" +"(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" +"implement local storage and/or the addressbook subscription functions, " +"since addressbook\n" +"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 "" +"I2P destinations contain a certificate, however at the moment that " +"certificate\n" +"is always null.\n" +"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" +"destination. So these will have to be updated to implement certificates." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:273 +#, python-format +msgid "" +"One possible use of certificates is for proof of work." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:276 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:280 +msgid "" +"With any certificate implementation must come the method for verifying " +"the\n" +"certificates.\n" +"Presumably this would happen in the addressbook merge code.\n" +"Is there a method for multiple types of certificates, or multiple " +"certificates?" +msgstr "" + +#: i2p2www/pages/site/docs/discussions/naming.html:286 +msgid "" +"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" +"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 "" +"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 ElGamal/AES+SessionTag " +"(but we're sure others have done it)." +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 Tunnel Build " +"Messages" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:30 +#, python-format +msgid "" +"For end-to-end (destination-to-destination) encryption as a part of ElGamal/AES+SessionTag\n" +"using the encryption key in the LeaseSet" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:34 +#: i2p2www/pages/site/docs/how/cryptography.html:189 +#, python-format +msgid "" +"For encryption of some netDb stores and " +"queries sent to floodfill routers\n" +"as a part of ElGamal/AES+SessionTag\n" +"(destination-to-router or router-to-router)." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:41 +msgid "" +"We use common primes for 2048 ElGamal encryption and decryption, as given" +" by IETF RFC-3526.\n" +"We currently only use ElGamal to encrypt the IV and session key in a " +"single block, followed by the \n" +"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 "" +"The H(data) is the SHA256 of the data that is encrypted in the ElGamal " +"block,\n" +"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" +"cleartext is smaller than 222 bytes, it is recommended that higher layers" +" pad\n" +"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 "" +"Each encrypted part is prepended with zeros to a size of exactly 257 " +"bytes.\n" +"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 the ElGamal code." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:115 +msgid "" +"The shared prime is the \n" +"[Oakley prime " +"for 2048 bit keys]" +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" +"PrivateKey\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" +"On Diffie-Hellman Key Agreement with Short Exponents " +"- van Oorschot, Weiner\n" +"at EuroCrypt 96, and crypto++'s " +"benchmarks.\n" +"Benchmarks originally at %(oldbenchmarks)s (now dead),\n" +"rescued from the wayback machine," +" dated Apr 23, 2008." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:158 +#, python-format +msgid "" +"Also, Koshiba & Kurosawa: Short Exponent Diffie-" +"Hellman Problems (PKC 2004, LNCS 2947, pp. 173-186)\n" +"(full text on Google Books) apparently " +"supports this, according to\n" +"this sci.crypt thread.\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 "" +"The vulnerability of the network to an ElGamal attack and the impact of " +"transitioning to a longer bit length is to be studied.\n" +"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 transport encryption 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 ElGamal/AES+SessionTag" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:195 +#, python-format +msgid "" +"For encryption of periodic tunnel " +"test messages sent from the router to itself, through its own " +"tunnels." +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" +"The padding used is specified in IETF RFC-2313 " +"(PKCS#5 1.5, section 8.1 (for block type 02)).\n" +"In this case, padding exists of pseudorandomly generated octets to match " +"16 byte blocks.\n" +"Specifically, see [the CBC code] and the " +"Cryptix AES\n" +"[implementation], as well as the padding, found" +" in the\n" +"ElGamalAESEngine.getPadding function." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:265 +msgid "" +"The vulnerability of the network to an AES attack and the impact of " +"transitioning to a longer bit length is to be studied.\n" +"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 "" +"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), " +"as implemented in\n" +"[DSAEngine].\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 "" +"The Signing Public" +" Key is 1024 bits.\n" +"The Signing " +"Private Key is 160 bits." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:344 +#, python-format +msgid "" +"NIST 800-57\n" +"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n" +"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a " +"given key." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:350 +msgid "" +"The prime number was chosen in 2003,\n" +"and the person that chose the number (TheCrypto) is currently no longer " +"an I2P developer.\n" +"As such, we do not know if the prime chosen is a 'strong prime'.\n" +"If a larger prime is chosen for future purposes, this should be a strong " +"prime, and we will document the construction process." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:357 +msgid "" +"The vulnerability of the network to a DSA attack and the impact of " +"transitioning to longer keys is to be studied.\n" +"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" +"[SHA256Generator]" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:383 +msgid "" +"The vulnerability of the network to a SHA-256 attack and the impact of " +"transitioning to a longer hash is to be studied.\n" +"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" +"point-to-point inter-router communication is protected by the transport " +"layer security.\n" +"Both transports use 256 byte (2048 bit) Diffie-Hellman key exchange\n" +"using\n" +"the same shared prime and generator as specified " +"above for ElGamal,\n" +"followed by symmetric AES encryption as described above.\n" +"This provides\n" +"perfect " +"forward secrecy\n" +"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 "" +"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" +"(as above).\n" +"The primary reason to do the DH negotiation instead of using ElGamalAES+SessionTag is that it provides '(perfect) " +"forward secrecy', while ElGamalAES+SessionTag does not." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:417 +msgid "" +"In order to migrate to a more standardized implementation (TLS/SSL or " +"even SSH), the following issues must be addressed:" +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 "" +"Can we simplify/avoid the x509 or other certificate formats and use our " +"own RouterInfo structure (which \n" +"contains the ElGamal and DSA keys)?" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:429 +#, python-format +msgid "See the NTCP specification for details." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:433 +msgid "UDP connections" +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:434 +msgid "" +"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" +"checking." +msgstr "" + +#: i2p2www/pages/site/docs/how/cryptography.html:442 +#, python-format +msgid "See the SSU specification 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" +"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" +"See HMACGenerator.java and\n" +"the 2005-07-05 status notes\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 "" +"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" +"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 "" +"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" +"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 "" +"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" +"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" +"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" +"to the full expensive ElGamal encryption.\n" +"A session will continue to exist until all its tags are exhausted or " +"expire." +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" +"Separate Session Key Managers prevents correlation of multiple " +"Destinations\n" +"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:

    " +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 +msgid "It is for a new session and contains both ElGamal and AES encrypted blocks" +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" +"an existing session and attempt to look up the Session Tag and decrypt " +"the following data using AES.\n" +"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 "" +"A New Session ElGamal Message contains two parts, an encrypted ElGamal " +"block\n" +"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" +"Session Key\n" +"is the identifier for the session.\n" +"The 32-byte Pre-IV will be used to generate the IV for the AES block that" +" follows;\n" +"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" +"using ElGamal\n" +"and the encrypted block is 514 bytes long.\n" +"

    " +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 Integer, 0-200" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:228 +#, python-format +msgid "" +"That many 32-byte Session Tags" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:232 +#, python-format +msgid "4-byte Integer" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:236 +#, python-format +msgid "" +"The 32-byte SHA256 Hash of" +" the payload" +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 "" +"A 32-byte Session " +"Key,\n" +" to replace the old key, and is only present if preceding" +" flag is 0x01" +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 AES Encrypted,\n" +"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" +"

    " +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:269 +#, python-format +msgid "" +"Actual max payload length, and max block length, is less than 64 KB; see " +"the I2NP Overview." +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 "" +"A 32-byte Session " +"Tag\n" +" previously delivered in an AES block" +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:314 +msgid "As specified above." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:318 +msgid "" +"The session tag also serves as\n" +"the pre-IV. The IV is the first 16 bytes of the SHA-256 Hash of the " +"sessionTag." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:323 +msgid "" +"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 New Session Message." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:332 +msgid "" +"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" +"impact on overall performance." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:338 +msgid "" +"Delivery of too many tags at one time may impose substantial overhead for" +" brief streaming connections\n" +"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 "" +"A few tags could be delivered in each of several messages, or lots of " +"tags all at once." +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 "" +"The number of tags delivered could depend on message size, keeping in " +"mind\n" +"the eventual padding to 1KB at the tunnel message layer." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:359 +msgid "" +"Clients could send an estimate of session lifetime to the router, as an " +"advisory\n" +"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 "" +"The router may assume delivery of Session Tags, or await acknowledgement " +"before using them;\n" +"there are tradeoffs for each strategy." +msgstr "" + +#: i2p2www/pages/site/docs/how/elgamal-aes.html:373 +msgid "" +"For very brief messages, almost the full 222 bytes of the pre-IV and " +"padding fields in the ElGamal block\n" +"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 "" +"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" +"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 synchronized PRNG." +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" +"Delivery Instructions,\n" +"or set a magic number in the first few bytes of the Session Key field\n" +"and accept a small risk of the random Session Key matching the magic " +"number." +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 "" +"The terms \"garlic routing\" and \"garlic encryption\" are often used " +"rather loosely when referring to I2P's technology.\n" +"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" +"Michael J. Freedman\n" +"in Roger Dingledine's Free Haven \n" +"Master's thesis " +"Section 8.1.1 (June 2000), as derived from \n" +"Onion Routing." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:21 +msgid "" +"\"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" +"The specific reasoning may be lost to history.\n" +"Generally, when referring to I2P, the term \"garlic\" may mean one of " +"three things:" +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 "" +"Unfortunately, I2P's usage of \"garlic\" terminology over the past seven " +"years has not always been precise; therefore the reader is\n" +"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 "" +"Onion routing is a technique for building paths, or tunnels, through a " +"series of peers,\n" +"and then using that tunnel.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:49 +#, python-format +msgid "" +"This is similar to the way Mixmaster\n" +"(see network comparisons) 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" +"per hop along the path." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:58 +msgid "" +"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" +"large amount of" +" academic research on onion routing,\n" +"Tor, and similar " +"mixnets." +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 "" +"Michael Freedman defined \"garlic routing\" as an extension to onion " +"routing,\n" +"in which multiple messages are bundled together.\n" +"He called each message a \"bulb\".\n" +"All the messages, each with its own delivery instructions, are exposed at" +" the\n" +"endpoint.\n" +"This allows the efficient bundling of an onion routing \"reply block\" " +"with the original message." +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" +"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" +"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" +"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" +"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" +"ElGamal/AES+SessionTag 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 "" +"For publishing some network database entries (dampening the probability " +"of a successful traffic analysis attack) (ElGamal/AES)" +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:116 +msgid "" +"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." +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" +"Therefore, four tunnels are required for a single round-trip message and " +"reply." +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" +"tunnel implementation page.\n" +"Tunnel building details are defined on\n" +"this page.\n" +"We use\n" +"ElGamal/AES+SessionTag 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" +"I2NP messages, and\n" +"Garlic Messages are not used to " +"build tunnels.\n" +"We do not bundle multiple\n" +"I2NP messages into a single\n" +"Garlic Message for unwrapping at " +"the outbound tunnel endpoint;\n" +"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" +"Destinations.\n" +"Just as within a single tunnel, we use\n" +"ElGamal/AES+SessionTag for the encryption." +"\n" +"Each client message as delivered to the router through the\n" +"I2CP interface becomes a single\n" +"Garlic Clove\n" +"with its own\n" +"Delivery Instructions,\n" +"inside a\n" +"Garlic Message.\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" +"Delivery Status Message,\n" +"with\n" +"Delivery Instructions\n" +"specifying that it be sent back to the originating router as an " +"acknowledgment.\n" +"This is similar to the \"reply block\" or \"reply onion\"\n" +"described in the references.\n" +"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" +"or take other actions." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:194 +#, python-format +msgid "" +"A\n" +"Database Store Message,\n" +"containing a\n" +"LeaseSet\n" +"for the originating Destination, with\n" +"Delivery Instructions\n" +"specifying the far-end destination's router.\n" +"By periodically bundling a LeaseSet, the router ensures that the far-end " +"will be able\n" +"to maintain communications.\n" +"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" +"network database page." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:213 +#, python-format +msgid "" +"In the current implementation, the Delivery Status and Database Store " +"Messages\n" +"are bundled when the local LeaseSet changes, when additional\n" +"Session Tags\n" +"are delivered, or if the messages have not been bundled in the previous " +"minute." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:220 +msgid "" +"Obviously, the additional messages are currently bundled for specific " +"purposes,\n" +"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" +"network database page,\n" +"local\n" +"LeaseSets\n" +"are sent to floodfill routers in a\n" +"Database Store Message\n" +"wrapped in a\n" +"Garlic Message\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 "" +"The Garlic Message mechanism is very flexible and provides a structure " +"for\n" +"implementing many types of mixnet delivery methods.\n" +"Together with the unused delay option in the\n" +"tunnel message Delivery " +"Instructions,\n" +"a wide spectrum of batching, delay, mixing, and routing strategies are " +"possible." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:251 +msgid "" +"In particular, there is potential for much more flexibility at the " +"outbound tunnel endpoint.\n" +"Messages could possibly be routed from there to one of several tunnels\n" +"(thus minimizing point-to-point connections), or multicast to several " +"tunnels\n" +"for redundancy, or streaming audio and video." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:258 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:264 +#, python-format +msgid "" +"As a part of\n" +"ElGamal/AES encryption,\n" +"a garlic message contains a sender\n" +"specified amount of padding data, allowing the sender to take active " +"countermeasures \n" +"against traffic analysis.\n" +"This is not currently used, beyond the requirement to pad to a multiple " +"of 16 bytes." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:273 +#, python-format +msgid "" +"Encryption of additional messages to and from the\n" +"floodfill routers." +msgstr "" + +#: i2p2www/pages/site/docs/how/garlic-routing.html:283 +msgid "" +"The term garlic routing was first coined in Roger Dingledine's Free Haven" +" \n" +"Master's thesis " +"(June 2000),\n" +"see Section 8.1.1 authored by\n" +"Michael J. Freedman." +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 "" +"I2P Meeting 58 (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 "" +"Onion routing was first described in Hiding Routing Information\n" +"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 "Introduction en douceur" -#: pages/site/docs/how/intro.html:5 +#: i2p2www/pages/site/docs/how/intro.html:5 msgid "A Gentle Introduction to How I2P Works" msgstr "Une présentation allégée du fonctionnement d'I2P" -#: pages/site/docs/how/intro.html:7 +#: i2p2www/pages/site/docs/how/intro.html:7 msgid "" -"I2P is a project to build, deploy, and maintain a network supporting secure " -"and anonymous\n" +"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" +"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" +"additional resources as they become available. Of course, all aspects of " +"the network are open and\n" "freely available." msgstr "" -"I2P est un projet dont le but est de construire, déployer, et maintenir un " -"réseau fournissant\n" +"I2P est un projet dont le but est de construire, déployer, et maintenir " +"un réseau fournissant\n" "des communications sécurisées et anonymes.\n" -"Les gens utilisant I2P ont le contrôle de l'arbitrage entre l'anonymat, la " -"fiabilité,\n" -"l'utilisation de la bande passante, et la latence. Il n'y a dans ce réseau, " -"pas de centre sur lequel pourrait\n" -"être exercée une pression en vue de compromettre l'intégrité, la sécurité, " -"ou l'anonymat du système.\n" +"Les gens utilisant I2P ont le contrôle de l'arbitrage entre l'anonymat, " +"la fiabilité,\n" +"l'utilisation de la bande passante, et la latence. Il n'y a dans ce " +"réseau, pas de centre sur lequel pourrait\n" +"être exercée une pression en vue de compromettre l'intégrité, la " +"sécurité, ou l'anonymat du système.\n" "Le réseau intègre sa propre reconfiguration dynamique en réponse aux " "diverses attaques,\n" -"et a été conçu pour utiliser de nouvelles ressources au fur et ?| mesure de " -"leur disponibilité.\n" +"et a été conçu pour utiliser de nouvelles ressources au fur et ?| mesure" +" de leur disponibilité.\n" "Bien entendu, tous les aspects du réseau sont publics et disponibles " "gratuitement." -#: pages/site/docs/how/intro.html:17 +#: i2p2www/pages/site/docs/how/intro.html:17 msgid "" -"Unlike many other anonymizing networks, I2P doesn't try to provide anonymity " -"by hiding the\n" +"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 — " "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" +"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" "even taken over to attempt more malicious attacks." msgstr "" -"Contrairement ?| de nombreux autres réseaux anonymisants, I2P ne tente pas " -"de procurer l'anonymat en masquant\n" +"Contrairement ?| de nombreux autres réseaux anonymisants, I2P ne tente " +"pas de procurer l'anonymat en masquant\n" "l'initiateur et pas le destinataire, ou le contraire. I2P est conçu pour " "permettre\n" -"aux pairs l'utilisant de communiquer anonymement — l'émetteur et le " -"récepteur sont non-identifiables\n" +"aux pairs l'utilisant de communiquer anonymement — l'émetteur et le" +" récepteur sont non-identifiables\n" "l'un par l'autre comme par un tiers. Par exemple, il y a aujourd'hui des " "sites web intra-I2P\n" "(permettant la publication/hébergement anonymes) tout comme des serveurs " "mandataires HTTP vers le web normal\n" -"(permettant la navigation anonyme). La possibilité d'avoir des serveurs dans " -"I2P est essentielle,\n" -"car il est plus que certain que n'importe quel proxy sortant vers l'Internet " -"sera surveillé, désactivé,\n" +"(permettant la navigation anonyme). La possibilité d'avoir des serveurs " +"dans I2P est essentielle,\n" +"car il est plus que certain que n'importe quel proxy sortant vers " +"l'Internet sera surveillé, désactivé,\n" "ou même piraté pour tenter des attaques encore plus pernicieuses." -#: pages/site/docs/how/intro.html:28 +#: i2p2www/pages/site/docs/how/intro.html:28 #, python-format msgid "" "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" +"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 I2PTunnel application, we are able " -"to stream traditional\n" +"help of the I2PTunnel 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" +"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" "proxies to enable the anonymizing functionality." msgstr "" -"Le réseau lui-même est \"orienté messages\": il est principalement constitué " -"d'une couche IP sécurisée\n" +"Le réseau lui-même est \"orienté messages\": il est principalement " +"constitué d'une couche IP sécurisée\n" "et anonyme, dans laquelle les messages sont adressés ?| des clés " "cryptographiques (Destinations) et\n" -"peuvent être sensiblement plus gros que des paquets IP. ?~@ titre d'exemples " -"d'utilisation du réseau\n" -"citons les \"eepsites\" (serveurs web hébergeant des applications Internet " -"normales au sein d'I2P), un\n" +"peuvent être sensiblement plus gros que des paquets IP. ?~@ titre " +"d'exemples d'utilisation du réseau\n" +"citons les \"eepsites\" (serveurs web hébergeant des applications " +"Internet normales au sein d'I2P), un\n" "client BitTorrent (\"I2PSnark\"), ou un système de stckage distribué. " "Grâce ?| l'application\n" "I2PTunnel, nous pouvons utiliser des " @@ -132,180 +12353,175 @@ msgstr "" "l'utilisent. Au lieu de ça ils verront\n" "une des application compatibles avec I2P, ou peut-être une petite " "application de contrôle qui va activer\n" -"ou désactiver divers proxies pour piloter la fonctionnalité d'anonymisation." +"ou désactiver divers proxies pour piloter la fonctionnalité " +"d'anonymisation." -#: pages/site/docs/how/intro.html:40 +#: i2p2www/pages/site/docs/how/intro.html:40 #, python-format msgid "" "An essential part of designing, developing, and testing an anonymizing " "network is to define the threat model, 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" +"href=\"%(threatmodel)s\">threat model, 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, all on the same network, where each one's messages are " "essentially indistinguishable\n" "from the others." msgstr "" "Un des points clés de la conception, dus développement, et du test d'un " "réseau anonyme est la définition de son\n" -"modèle de sécurité, car il n'existe nulle " -"part un \"vrai\" anonymat, mais uniquement\n" +"modèle de sécurité, car il n'existe nulle" +" part un \"vrai\" anonymat, mais uniquement\n" "des moyens d'augmenter les coûts d'identification de quelqu'un. " "Succinctement, le but d'I2P est de permettre de\n" -"communiquer dans des environnements hostiles en procurant un bon anonymat, " -"mélangé ?| un trafic de camouflage\n" -"suffisant fourni par l'activité de ceux qui ont besoin de moins d'anonymat, " -"de sorte que certains utilisateurs puissent\n" +"communiquer dans des environnements hostiles en procurant un bon " +"anonymat, mélangé ?| un trafic de camouflage\n" +"suffisant fourni par l'activité de ceux qui ont besoin de moins " +"d'anonymat, de sorte que certains utilisateurs puissent\n" "se soustraire ?| la détection par un adversaire très puissant, quand " "d'autres pourront esquiver une entité plus faible,\n" -"tout ceci sur le même réseau dans lequel les messages des uns sont " -"fondamentalement indistinguables de ceux des\n" +"tout ceci sur le même réseau dans lequel les messages des uns sont" +" fondamentalement indistinguables de ceux des\n" "autres." -#: pages/site/docs/how/intro.html:51 +#: i2p2www/pages/site/docs/how/intro.html:51 msgid "Why?" msgstr "Pourquoi?" -#: pages/site/docs/how/intro.html:52 +#: i2p2www/pages/site/docs/how/intro.html:52 #, python-format msgid "" -"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 other\n" -"efforts working on finding ways to provide varying degrees of anonymity " -"to people through the\n" +"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 other\n" +"efforts working on finding ways to provide varying degrees of " +"anonymity to people through the\n" "Internet, but we could not find any that met our needs or threat model." msgstr "" -"Il y a une multitude de raisons qui justifient que nous ayons besoin d'un " -"système de communication anonyme,\n" -"et chacun a les siennes propres. Il y a de nombreux autres efforts\n" -"pour trouver les moyens de fournir divers niveaux d'anonymat sur Internet, " -"mais nous n'en avons trouvé aucun\n" -"qui réponde ?| nos besoins ou ?| notre modèle de sécurité." -#: pages/site/docs/how/intro.html:59 +#: i2p2www/pages/site/docs/how/intro.html:59 msgid "How?" msgstr "Comment?" -#: pages/site/docs/how/intro.html:61 +#: i2p2www/pages/site/docs/how/intro.html:61 #, python-format msgid "" -"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 tunnel routing page). Each router is identified by " -"a cryptographic RouterIdentity which is\n" +"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 tunnel routing 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" +"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" +"that will be used for sending and receiving messages through the network." +" I2P has its own internal\n" "network database (using a modification of the " "Kademlia algorithm) for\n" "distributing routing and contact information securely." msgstr "" "Au premier coup d'?~Sil le réseau est constitué d'un tas de n?~Suds " "(\"routeurs\") dotés d'un certain nombre\n" -"de chemins virtuels entrants et sortants unidirectionnels (appelés \"tunnels" -"\", expliqués sur la page\n" -"routage en tunnel).) Chaque routeur est " -"identifié par l'identifiant\n" -"cryptographique \"RouterIdentity\", typiquement de longue durée de vie. Ces " -"routeurs communiquent\n" -"par des mécanismes existants (TCP, UDP, etc). Les applications clientes ont " -"leur propre identifiant\n" -"cryptographique (\"Destination\") qui leur permet d'envoyer et de recevoir " -"des messages. Ces clients peuvent\n" -"se connecter ?| n'importe quel routeur et autoriser l'allocation temporaire " -"(\"lease\") de quelques tunnels\n" -"qui seront utilisés pour l'envoi et la réception ?| travers le réseau. I2P " -"dispose de sa propre\n" +"de chemins virtuels entrants et sortants unidirectionnels (appelés " +"\"tunnels\", expliqués sur la page\n" +"routage en tunnel).) Chaque routeur est" +" identifié par l'identifiant\n" +"cryptographique \"RouterIdentity\", typiquement de longue durée de vie. " +"Ces routeurs communiquent\n" +"par des mécanismes existants (TCP, UDP, etc). Les applications clientes " +"ont leur propre identifiant\n" +"cryptographique (\"Destination\") qui leur permet d'envoyer et de " +"recevoir des messages. Ces clients peuvent\n" +"se connecter ?| n'importe quel routeur et autoriser l'allocation " +"temporaire (\"lease\") de quelques tunnels\n" +"qui seront utilisés pour l'envoi et la réception ?| travers le réseau. " +"I2P dispose de sa propre\n" "base de donnée réseau interne (avec une " "modification de l'algorithme Kademlia)\n" -"pour une distribution sécurisée des informations de routage et de contacts." +"pour une distribution sécurisée des informations de routage et de " +"contacts." -#: pages/site/docs/how/intro.html:74 +#: i2p2www/pages/site/docs/how/intro.html:74 msgid "Network topology example" msgstr "Exemple de topologie du réseau" -#: pages/site/docs/how/intro.html:76 +#: i2p2www/pages/site/docs/how/intro.html:76 msgid "" -"In the above, Alice, Bob, Charlie, and Dave are all running routers with a " -"single Destination on\n" +"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" +"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" +"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" "as new leases are authorized and old ones expire." msgstr "" "Ci-dessus, Alice, Bob, Charlie, et Dave ont tous leur routeur, avec une " "seule Destination locale.\n" -"Ils ont chacun une paire de tunnels entrants ?| deux sauts par destination " -"(repérés 1, 2, 3, 4, 5 et 6),\n" +"Ils ont chacun une paire de tunnels entrants ?| deux sauts par " +"destination (repérés 1, 2, 3, 4, 5 et 6),\n" "et une petite partie des tunnels sortants de chacun de ces routeurs est " "montré avec des tunnels sortants ?| deux sauts.\n" -"Pour simplifier, ne sont représentés ni les tunnels entrants de Charlie et " -"les tunnels sortants de Dave,\n" +"Pour simplifier, ne sont représentés ni les tunnels entrants de Charlie " +"et les tunnels sortants de Dave,\n" "ni le reste du groupe de tunnels sortants de chaque routeur (fourni par " "défaut avec quelques tunnels).\n" -"Quand Alice et Bob discutent ensemble, Alice envoie un message vers un de " -"ses tunnels sortants (en rose)\n" -"avec pour cible un des tunnels entrants de Bob (3 ou 4, en vert). Elle sait " -"qu'elle doit envoyer vers ces tunnels\n" +"Quand Alice et Bob discutent ensemble, Alice envoie un message vers un de" +" ses tunnels sortants (en rose)\n" +"avec pour cible un des tunnels entrants de Bob (3 ou 4, en vert). Elle " +"sait qu'elle doit envoyer vers ces tunnels\n" "sur le bon routeur en interrogeant la base de donnée du réseau qui est " "actualisée en permanence\n" -"au fur et ?| mesure que les nouveaux baux sont autorisés et que les anciens " -"expirent." +"au fur et ?| mesure que les nouveaux baux sont autorisés et que les " +"anciens expirent." -#: pages/site/docs/how/intro.html:88 +#: i2p2www/pages/site/docs/how/intro.html:88 #, python-format msgid "" -"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 garlic\n" +"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 garlic\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." +"immediately without having to look in the network database for the " +"current data." msgstr "" "Si Bob veut répondre ?| Alice, il utilise simplement la même procédure: " "envoyer un message via un de ses\n" -"tunnels sortants en ciblant un des tunnels entrants d'Alice (tunnel 1 ou 2). " -"Pour rendre les choses plus faciles,\n" -"la plupart des messages circulant entre Alice et Bob sont empaquetés \"?| " -"la garlic\",\n" -"embarquant les informations sur le bail actuel de l'expéditeur, de sorte que " -"le destinataire puisse répondre\n" +"tunnels sortants en ciblant un des tunnels entrants d'Alice (tunnel 1 ou " +"2). Pour rendre les choses plus faciles,\n" +"la plupart des messages circulant entre Alice et Bob sont empaquetés \"?|" +" la garlic\",\n" +"embarquant les informations sur le bail actuel de l'expéditeur, de sorte " +"que le destinataire puisse répondre\n" "immédiatement sans avoir ?| interroger la base de donnée." -#: pages/site/docs/how/intro.html:96 +#: i2p2www/pages/site/docs/how/intro.html:96 #, python-format msgid "" "To deal with a wide range of attacks, I2P is fully distributed with no " @@ -314,36 +12530,36 @@ msgid "" "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 peer selection\n" +"and is responsible for selecting appropriate peers to meet the anonymity," +" performance, and\n" +"reliability needs of the users, as described in the peer selection\n" "page." msgstr "" -"Pour gérer une grande gamme d'attaques, I2P est entièrement décentralisé et en conséquence\n" +"Pour gérer une grande gamme d'attaques, I2P est entièrement " +"décentralisé et en conséquence\n" "il n'y a pas de serveur d'annuaire conservant des statistiques de " -"performances et de fiabilité Donc chaque routeur doit garder et entretenir les profils de " -"divers routeurs\n" +"performances et de fiabilité Donc chaque routeur doit garder et " +"entretenir les profils de divers routeurs\n" "et est responsable de la sélection de pairs appropriés aux besoins " "d'anonymat, de performance et de fiabilité\n" -"des utilisateurs, comme expliqué sur la page sélection de pairs." +"des utilisateurs, comme expliqué sur la page sélection de pairs." -#: pages/site/docs/how/intro.html:105 +#: i2p2www/pages/site/docs/how/intro.html:105 #, python-format msgid "" -"The network itself makes use of a significant number of cryptographic\n" -"techniques and algorithms - a full laundry list includes 2048bit ElGamal " -"encryption, 256bit AES\n" +"The network itself makes use of a significant number of cryptographic\n" +"techniques and algorithms - 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 ElGamal / AES+SessionTag." +"negotiated connections with station to station authentication, and ElGamal / AES+SessionTag." msgstr "" -"Le réseau fait usage d'un nombre significatif de techniques et algorithmes\n" +"Le réseau fait usage d'un nombre significatif de techniques et algorithmes\n" "cryptographiques: la liste complète est constituée des cryptages " "ElGamal ?| 2048bits, AES 256bits\n" "en mode CBC avec bourrage PKCS#5, des signatures DSA ?| 1024bits, des " @@ -352,82 +12568,82 @@ msgstr "" "Hellman 2048bit, et\n" "ElGamal / AES+SessionTag." -#: pages/site/docs/how/intro.html:113 +#: i2p2www/pages/site/docs/how/intro.html:113 msgid "" -"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" +"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" "encryption (e.g. the TCP transport uses AES256 with ephemeral keys)." msgstr "" -"Les contenus envoyés sur I2P sont cryptés ?| travers un cryptage en têtes " -"d'ail (\"garlic\") ?| trois niveaux\n" -"(utilisé pour vérifier la réception du message par le destinataire), par le " -"cryptage de tunnel (tous les messages\n" +"Les contenus envoyés sur I2P sont cryptés ?| travers un cryptage en " +"têtes d'ail (\"garlic\") ?| trois niveaux\n" +"(utilisé pour vérifier la réception du message par le destinataire), par " +"le cryptage de tunnel (tous les messages\n" "traversant un tunnel sont cryptés par la passerelle du tunnel ?| " "l'intention du point de sortie du tunnel),\n" -"et par un cryptage de la couche transport inter routeurs (p.e. le transport " -"TCP utilise des clés AES256 éphémères)." +"et par un cryptage de la couche transport inter routeurs (p.e. le " +"transport TCP utilise des clés AES256 éphémères)." -#: pages/site/docs/how/intro.html:120 +#: i2p2www/pages/site/docs/how/intro.html:120 msgid "" -"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" +"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" +"encrypted! A and h are the routers of Alice and Bob, while Alice and Bob " +"in following chart are the\n" "applications running atop of I2P." msgstr "" "Le cryptage de bout en bout (I2CP) (application cliente ?| application " "serveur) a été désactivée dans\n" -"la version 0.6; Le cryptage (garlic) de bout en bout (routeur I2P client ?| " -"routeur I2P serveur) depuis\n" +"la version 0.6; Le cryptage (garlic) de bout en bout (routeur I2P client " +"?| routeur I2P serveur) depuis\n" "le routeur \"a\" d'Alice vers le \"h\" de Bob est restée. Remarquez " "l'utilisation différente des termes! Toutes\n" "les données transitant de \"a\" ?| \"h\" sont cryptées de bout en bout, " "mais la connexion I2CP entre le\n" -"routeur et les applications ne l'est pas! \"a\" et \"h\" sont les routeurs " -"d'Alice et Bob, alors qu'Alice et Bob\n" +"routeur et les applications ne l'est pas! \"a\" et \"h\" sont les " +"routeurs d'Alice et Bob, alors qu'Alice et Bob\n" "dans le schéma suivant sont les applications qui tournent sur I2P." -#: pages/site/docs/how/intro.html:129 +#: i2p2www/pages/site/docs/how/intro.html:129 msgid "End to end layered encryption" msgstr "Cryptage en couches de bout en bout" -#: pages/site/docs/how/intro.html:131 +#: i2p2www/pages/site/docs/how/intro.html:131 #, python-format msgid "" -"The specific use of these algorithms are outlined elsewhere." +"The specific use of these algorithms are outlined elsewhere." msgstr "" -"Les utilisations spécifiques de ces algorithmes sont précisées ailleurs." +"Les utilisations spécifiques de ces algorithmes sont précisées ailleurs." -#: pages/site/docs/how/intro.html:135 +#: i2p2www/pages/site/docs/how/intro.html:135 msgid "" -"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" +"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" "deployment of more flexible and anonymous transports." msgstr "" -"Les deux mécanismes principaux permettant l'usage du réseau ?| ceux qui ont " -"besoin d'un anonymat fort\n" -"sont très explicitement le routage \"garlic\" retardé et des tunnels plus " -"évolués incluant la possibilité d'appeler et\n" +"Les deux mécanismes principaux permettant l'usage du réseau ?| ceux qui " +"ont besoin d'un anonymat fort\n" +"sont très explicitement le routage \"garlic\" retardé et des tunnels plus" +" évolués incluant la possibilité d'appeler et\n" "de croiser les messages. Ils sont actuellement planifiés pour la version " "3.0, mais le routage \"garlic\" instantané et\n" "les tunnels FIFO sont d'ores et déj?| opérationnels. La version 2.0 " @@ -435,17 +12651,17 @@ msgstr "" "(peut-être avec des pairs de confiance), ainsi que des transports plus " "souples et plus anonymes." -#: pages/site/docs/how/intro.html:144 +#: i2p2www/pages/site/docs/how/intro.html:144 #, python-format msgid "" -"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" -"O(log(N)) due to the network database's algorithm, while end\n" -"to end messages should be O(1) (scale free), since messages go " -"out K hops through the\n" +"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" +"O(log(N)) due to the network " +"database's algorithm, while end\n" +"to end messages should be O(1) (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" "the network (N) bears no impact." @@ -454,120 +12670,15002 @@ msgstr "" "d'échelle. Il y aura certainement plus\n" "d'analyse avec le temps, mais l'intégration et la recherche des pairs " "devraient répondre ?| \n" -"O(log(N)) grâce ?| l'algorithme de la base de données,\n" -"alors que les messages seraient plutôt liés ?| O(1) (non " -"dépendance ?| l'échelle),\n" -"car les messages passent par K sauts du tunnel sortant puis encore K sauts " -"via le tunnel entrant, avec K\n" +"O(log(N)) grâce ?| l'algorithme de la base de données,\n" +"alors que les messages seraient plutôt liés ?| O(1) " +"(non dépendance ?| l'échelle),\n" +"car les messages passent par K sauts du tunnel sortant puis encore K " +"sauts via le tunnel entrant, avec K\n" "inférieur ou égal ?| 3. La taille du réseau (N) n'a aucun impact." -#: pages/site/docs/how/intro.html:153 +#: i2p2www/pages/site/docs/how/intro.html:153 msgid "When?" msgstr "Quand?" -#: pages/site/docs/how/intro.html:154 +#: i2p2www/pages/site/docs/how/intro.html:154 #, python-format msgid "" "I2P initially began in Feb 2003 as a proposed modification to Freenet to allow it to use alternate " -"transports, such as JMS, then grew into " -"its own as an\n" -"'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 roadmap." +"href=\"http://freenetproject.org\">Freenet to allow it to use " +"alternate transports, such as JMS, then grew into its own as an\n" +"'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" +" roadmap." msgstr "" -"I2P a commencé en février 2003 en tant que proposition de modification de\n" -"Freenet pour lui permettre " -"d'utiliser d'autres modes de transferts,\n" -"comme JMS, puis a " -"évolué de son côté en\n" -"'anonCommFramework' en avril 2003, pour devenir I2P en juillet, l'écriture " -"du code ayant sérieusement\n" -"commencé en août 2003. I2P est actuellement en phase de développement et " -"suit sa \n" -"feuille de route." -#: pages/site/docs/how/intro.html:163 +#: i2p2www/pages/site/docs/how/intro.html:164 msgid "Who?" msgstr "Qui?" -#: pages/site/docs/how/intro.html:164 +#: i2p2www/pages/site/docs/how/intro.html:165 #, python-format msgid "" "We have a small team 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" +"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 Sun Java SE and other Java Virtual " -"Machines." +"though some third party applications are being written in Python and " +"other languages. The code works\n" +"on Sun Java SE and other Java Virtual" +" Machines." msgstr "" "Nous sommes une petite équipe répartie sur " "plusieurs continents, qui travaille ?| \n" "l'avancement de différents aspects du projet. Nous sommes complètement " "ouverts ?| l'arrivée d'autre développeurs\n" -"qui voudraient s'impliquer et ?| celle de quiconque préfèrerait participer " -"d'autres façons, telles que la critique,\n" +"qui voudraient s'impliquer et ?| celle de quiconque préfèrerait " +"participer d'autres façons, telles que la critique,\n" "l'analyse de pair, le test, l'écriture d'applications compatibles, ou de " "documentation. Le système est totalement\n" -"\"open source\": le routeur et presque tout l'outil de développement sont de " -"plein droit dans le domaine public avec\n" +"\"open source\": le routeur et presque tout l'outil de développement sont" +" de plein droit dans le domaine public avec\n" "quelques lignes de code sous licence BSD et Cryptix, et quelques " "applications comme I2PTunnel\n" "et I2PSnark sous GPL. Presque tout est écrit en Java (1.5+), bien que " "quelques applications tierce partie soient\n" -"écrites en Python et autres langages. Le code fonctionne sur Oracle/Sun Java SE et\n" +"écrites en Python et autres langages. Le code fonctionne sur Oracle/Sun Java SE et\n" "d'autres Machines Virtuelles Java." -#: pages/site/docs/how/intro.html:175 +#: i2p2www/pages/site/docs/how/intro.html:176 msgid "Where?" msgstr "Où?" -#: pages/site/docs/how/intro.html:176 +#: i2p2www/pages/site/docs/how/intro.html:177 #, python-format msgid "" "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 archives " -"are available." +"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p and " +"irc.einirc.de). There are currently no\n" +"scheduled development meetings, however archives" +" are available." msgstr "" "Toute personne intéressée peut nous joindre sur le canal IRC #i2p " "actuellement hébergé\n" -"sur les serveurs irc.freenode.net, irc.postman.i2p, irc.freshcoffee.i2p, irc." -"welterde.i2p et irc.einirc.de.\n" +"sur les serveurs irc.freenode.net, irc.postman.i2p, irc.freshcoffee.i2p, " +"irc.welterde.i2p et irc.einirc.de.\n" "Il n'y a pas de rencontre de développement planifiée actuellement, mais\n" "les archives sont disponibles." -#: pages/site/docs/how/intro.html:182 +#: i2p2www/pages/site/docs/how/intro.html:183 +#, python-format +msgid "The current source is available in monotone." +msgstr "Le code source est disponible dans monotone." + +#: i2p2www/pages/site/docs/how/intro.html:188 +#, python-format +msgid "See the Index to Technical Documentation." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:2 +msgid "The Network Database" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:8 +msgid "" +"I2P's netDb is a specialized distributed database, containing \n" +"just two types of data - router contact information (RouterInfos) " +"and destination contact\n" +"information (LeaseSets). 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" +"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" +"where a subset of all routers, called \"floodfill routers\", maintains " +"the distributed database." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:25 +msgid "" +"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" +"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 "" +"The contact addresses at which it can be reached (e.g. TCP: example.org " +"port 4108)" +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 +msgid "The signature of the above, generated by the identity's DSA signing key" +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 "" +"Capabilities flags - used to indicate floodfill participation, " +"approximate bandwidth, and perceived reachability" +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 "" +"Always sent as 90m, for compatibility with an older scheme where routers " +"published their actual uptime,\n" +"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" +"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" +"the router meets a minimum threshold for routing tunnels.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:72 #, python-format msgid "" -"The current source is available in monotone." +"Additional text options include\n" +"a small number of statistics about the router's health, which are " +"aggregated by\n" +"sites such as %(stats)s\n" +"for network performance analysis and debugging.\n" +"These statistics were chosen to provide data crucial to the developers,\n" +"such as tunnel build success rates, while balancing the need for such " +"data\n" +"with the side-effects that could result from revealing this data.\n" +"Current statistics are limited to:" msgstr "" -"Le code source est disponible dans monotone." -#: pages/site/docs/how/intro.html:186 -msgid "Additional Information" -msgstr "Plus d'infos" +#: i2p2www/pages/site/docs/how/network-database.html:83 +msgid "Client and exploratory tunnel build success, reject, and timeout rates" +msgstr "" -#: pages/site/docs/how/intro.html:187 +#: 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" +"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." +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" +"Each router is free to maintain its own local policy to trade off the " +"frequency of RouterInfo lookups\n" +"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 "" +"There is no expiration during the first hour of uptime, as the persistent" +" stored data may be old." +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 "" +"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" +"while expiration time with 300 routers is around 30 hours." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:120 #, python-format -msgid "See the Index to Technical Documentation." +msgid "" +"RouterInfos containing SSU introducers expire in " +"about an hour, as\n" +"the introducer list expires in about that time." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:124 +msgid "" +"Floodfills use a short expiration time (1 hour) for all local " +"RouterInfos, as valid RouterInfos will\n" +"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 "" +"The second piece of data distributed in the netDb is a \"LeaseSet\" - " +"documenting\n" +"a group of tunnel entry points (leases) for a particular client " +"destination.\n" +"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 "" +"Additional encryption public key: used for end-to-end encryption of " +"garlic messages" +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 "" +"Signature of all the LeaseSet data, to make sure the Destination " +"published the LeaseSet." +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 "" +"A LeaseSet for a destination used only for outgoing connections is " +"unpublished.\n" +"It is never sent for publication to a floodfill router.\n" +"\"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" +"because of I2NP storage messages." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:187 +msgid "Revoked LeaseSets" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:188 +msgid "" +"A LeaseSet may be revoked 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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:195 +msgid "Encrypted LeaseSets" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:196 +msgid "" +"In an encrypted 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" +"by those with the key.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:205 +msgid "LeaseSet Expiration" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:206 +msgid "" +"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet " +"expires\n" +"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" +"ties you in. This is accomplished by \"reseeding\" your router with the " +"RouterInfo\n" +"of an active peer - specifically, by retrieving their " +"routerInfo-$hash.dat\n" +"file and storing it in your netDb/ directory. Anyone can " +"provide\n" +"you with those files - you can even provide them to others by exposing " +"your own\n" +"netDb directory. To simplify the process,\n" +"volunteers publish their netDb directories (or a subset) on the regular " +"(non-i2p) network,\n" +"and the URLs of these directories are hardcoded in I2P.\n" +"When the router starts up for the first time, it automatically fetches " +"from\n" +"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" +"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 XOR-metric) to a specific key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:244 +msgid "" +"Determining who is part of the floodfill netDb is trivial - it is exposed" +" in each \n" +"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" +"The current minimum share bandwidth for a floodfill router is 128 " +"KBytes/sec." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:275 +msgid "" +"In addition, a router must pass several additional tests for health\n" +"(outbound message queue time, job lag, etc.) before floodfill operation " +"is\n" +"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 "" +"A floodfill router's only services that are in addition to those of non-" +"floodfill routers\n" +"are in accepting netDb stores and responding to netDb queries.\n" +"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." +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 "" +"The netDb uses a simple Kademlia-style XOR metric to determine closeness." +"\n" +"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" +"A modification to this algorithm is done to increase the costs of Sybil attacks.\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)." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:317 +msgid "Storage, Verification, and Lookup Mechanics" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:319 +msgid "RouterInfo Storage to Peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:320 +#, python-format +msgid "" +"I2NP DatabaseStoreMessages containing the local " +"RouterInfo are exchanged with peers\n" +"as a part of the initialization of a NTCP\n" +"or SSU transport connection." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:327 +msgid "LeaseSet Storage to Peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:328 +#, python-format +msgid "" +"I2NP 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 +msgid "RouterInfo Storage to Floodfills" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:337 +#, python-format +msgid "" +"A router publishes its own RouterInfo by directly connecting to a " +"floodfill router\n" +"and sending it a I2NP DatabaseStoreMessage\n" +"with a nonzero 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 floodfill router replies with a\n" +"I2NP DeliveryStatusMessage,\n" +"with the Message ID set to the value of the Reply Token." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:351 +msgid "LeaseSet Storage to Floodfills" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:352 +msgid "" +"Storage of LeaseSets is much more sensitive than for RouterInfos, as a " +"router\n" +"must take care that the LeaseSet cannot be associated with the router." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:357 +#, python-format +msgid "" +"A router publishes a local LeaseSet by\n" +"sending a I2NP DatabaseStoreMessage\n" +"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" +"to hide the message from the tunnel's outbound endpoint.\n" +"The floodfill router replies with a\n" +"I2NP 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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:370 +msgid "Flooding" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:371 +msgid "" +"After a floodfill router receives a DatabaseStoreMessage containing a\n" +"valid RouterInfo or LeaseSet which is newer than that previously stored " +"in its\n" +"local NetDb, it \"floods\" it.\n" +"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.)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:379 +#, python-format +msgid "" +"It then directly connects to each of the 7 peers\n" +"and sends it a I2NP 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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:389 +msgid "RouterInfo and LeaseSet Lookup" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:390 +#, python-format +msgid "" +"The I2NP DatabaseLookupMessage is used to " +"request a netdb entry from a floodfill router.\n" +"Lookups are sent out one of the router's outbound exploratory tunnels.\n" +"The replies are specified to return via one of the router's inbound " +"exploratory tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:396 +msgid "" +"Lookups are generally sent to the two \"good\" (the connection doesn't " +"fail) floodfill routers closest to the requested key, in parallel." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:400 +#, python-format +msgid "" +"If the key is found locally by the floodfill router, it responds with a\n" +"I2NP DatabaseStoreMessage.\n" +"If the key is not found locally by the floodfill router, it responds with" +" a\n" +"I2NP DatabaseSearchReplyMessage\n" +"containing a list of other floodfill routers close to the key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:408 +msgid "" +"Lookups are not encrypted and thus are vulnerable to snooping by the " +"outbound endpoint\n" +"(OBEP) of the client tunnel." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:413 +msgid "" +"As the requesting router does not reveal itself, there is no recipient " +"public key for the floodfill router to\n" +"encrypt the reply with. Therefore, the reply is exposed to the inbound " +"gateway (IBGW)\n" +"of the inbound exploratory tunnel.\n" +"An appropriate method of encrypting the reply is a topic for future work." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:420 +#, python-format +msgid "" +"(Reference: Hashing it out in Public Sections " +"2.2-2.3 for terms below in italics)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:424 +msgid "" +"Due to the relatively small size of the network and the flooding " +"redundancy of 8x,\n" +"lookups are usually O(1) rather than O(log n) --\n" +"a router is highly likely to know a floodfill router close enough to the " +"key to get the answer on the first try.\n" +"In releases prior to 0.8.9, routers used a lookup redundancy of two\n" +"(that is, two lookups were performed in parallel to different peers), and" +"\n" +"neither recursive nor iterative routing for lookups was " +"implemented.\n" +"Queries were sent through multiple routes simultaneously\n" +"to reduce the chance of query failure." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:435 +msgid "" +"As of release 0.8.9, iterative lookups are implemented with no " +"lookup redundancy.\n" +"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" +"limitation to network growth. As the network grows and each router knows " +"only a small\n" +"subset of the floodfill peers, lookups will become O(log n).\n" +"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" +"or the maximum number of peers is queried." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:447 +msgid "" +"Node IDs are verifiable 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" +"Given the current size of the network, a router has\n" +"detailed knowledge of the neighborhood of the destination ID space." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:456 +msgid "RouterInfo Storage Verification" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:457 +msgid "" +"To verify a storage was successful, a router simply waits about 10 " +"seconds,\n" +"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" +"Lookups are end-to-end garlic encrypted to prevent snooping by the " +"outbound endpoint(OBEP)." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:465 +msgid "LeaseSet Storage Verification" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:466 +msgid "" +"To verify a storage was successful, a router simply waits about 10 " +"seconds,\n" +"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 outbound client tunnels for the destination " +"of the LeaseSet being verified.\n" +"To prevent snooping by the OBEP of the outbound tunnel,\n" +"lookups are end-to-end garlic encrypted.\n" +"The replies are specified to return via one of the client's inbound " +"tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:476 +msgid "" +"As for regular lookups, the reply is unencrypted,\n" +"thus exposing the reply to the inbound gateway (IBGW) of the reply " +"tunnel, and\n" +"an appropriate method of encrypting the reply is a topic for future work." +"\n" +"As the IBGW for the reply is one of the gateways published in the " +"LeaseSet,\n" +"the exposure is minimal." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:486 +msgid "Exploration" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:487 +#, python-format +msgid "" +"Exploration is a special form of netdb lookup, where a router " +"attempts to learn about\n" +"new routers.\n" +"It does this by sending a floodfill router a I2NP DatabaseLookupMessage, looking for a random " +"key.\n" +"As this lookup will fail, the floodfill would normally respond with a\n" +"I2NP 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" +"\"don't include\" field of the DatabaseLookupMessage.\n" +"The floodfill will then respond only with non-floodfill routers close to " +"the requested key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:501 +msgid "Notes on Lookup Responses" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:502 +msgid "" +"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" +"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" +"There are no other response tags. Therefore, when making multiple " +"requests in parallel, it is\n" +"difficult to monitor the performance of the various floodfill routers." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:512 +msgid "MultiHoming" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:514 +msgid "" +"Destinations may be hosted on multiple routers simultaneously, by using " +"the same\n" +"private and public keys (traditionally stored in eepPriv.dat files).\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:524 +msgid "Threat Analysis" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:525 +#, python-format +msgid "" +"Also discussed on the threat model " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:529 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:536 +msgid "General Mitigation Through Growth" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:537 +msgid "" +"There are currently hundreds of floodfill routers in the network.\n" +"Most of the following attacks will become more difficult, or have less " +"impact,\n" +"as the network size and number of floodfill routers increase." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:544 +msgid "General Mitigation Through Redundancy" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:545 +msgid "" +"Via flooding, all netdb entries are stored on the 8 floodfill routers " +"closest to the key." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:550 +msgid "Forgeries" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:551 +msgid "" +"All netdb entries are signed by their creators, so no router may forge a\n" +"RouterInfo or LeaseSet." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:556 +msgid "Slow or Unresponsive" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:557 +#, python-format +msgid "" +"Each router maintains an expanded set of statistics in the\n" +"peer profile for each floodfill router," +"\n" +"covering various quality metrics for that peer.\n" +"The set includes:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:564 +msgid "Average response time" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:565 +msgid "Percentage of queries answered with the data requested" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:566 +msgid "Percentage of stores that were successfully verified" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:567 +msgid "Last successful store" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:568 +msgid "Last successful lookup" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:569 +msgid "Last response" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:572 +msgid "" +"Each time a router needs to make a determination on which floodfill " +"router is closest to a key,\n" +"it uses these metrics to determine which floodfill routers are \"good\".\n" +"The methods, and thresholds, used to determine \"goodness\" are " +"relatively new, and\n" +"are subject to further analysis and improvement.\n" +"While a completely unresponsive router will quickly be identified and " +"avoided,\n" +"routers that are only sometimes malicious may be much harder to deal with." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:582 +msgid "Sybil Attack (Full Keyspace)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:583 +#, python-format +msgid "" +"An attacker may mount a Sybil attack\n" +"by creating a large number of floodfill routers spread throughout the " +"keyspace." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:588 +#, python-format +msgid "" +"(In a related example, a researcher recently created a\n" +"large number of Tor relays.)\n" +"If successful, this could be an effective DOS attack on the entire " +"network." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:594 +msgid "" +"If the floodfills are not sufficiently misbehaving to be marked as " +"\"bad\" using the peer profile\n" +"metrics described above, this is a difficult scenario to handle.\n" +"Tor's response can be much more nimble in the relay case, as the " +"suspicious relays\n" +"can be manually removed from the consensus.\n" +"Some possible responses for the I2P network are listed below, however " +"none of them is completely satisfactory:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:602 +msgid "" +"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" +"add it to their local \"blacklist\"." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:607 +msgid "" +"Ask everyone in the network to enable floodfill manually (fight Sybil " +"with more Sybil)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:608 +msgid "Release a new software version that includes the hardcoded \"bad\" list" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:609 +msgid "" +"Release a new software version that improves the peer profile metrics and" +" thresholds,\n" +"in an attempt to automatically identify the \"bad\" peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:613 +msgid "" +"Add software that disqualifies floodfills if too many of them are in a " +"single IP block" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:614 +msgid "" +"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" +"block participation of any particular router or IP in the network,\n" +"or even to completely shutdown or destroy the entire network." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:623 +#: i2p2www/pages/site/docs/how/network-database.html:659 +msgid "This attack becomes more difficult as the network size grows." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:629 +msgid "Sybil Attack (Partial Keyspace)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:630 +#, python-format +msgid "" +"An attacker may mount a Sybil attack\n" +"by creating a small number (8-15) of floodfill routers clustered closely " +"in the keyspace,\n" +"and distribute the RouterInfos for these routers widely.\n" +"Then, all lookups and stores for a key in that keyspace would be directed" +"\n" +"to one of the attacker's routers.\n" +"If successful, this could be an effective DOS attack on a particular " +"eepsite, for example." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:639 +msgid "" +"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" +"until he has enough that are sufficiently close to the key.\n" +"The amount of computational power required for this, which is dependent " +"on network\n" +"size, is unknown." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:647 +msgid "" +"As a partial defense against this attack,\n" +"the algorithm used to determine Kademlia \"closeness\" varies over time.\n" +"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" +"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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:663 +msgid "" +"One consequence of daily keyspace rotation is that the distributed " +"network database\n" +"may become unreliable for a few minutes after the rotation --\n" +"lookups will fail because the new \"closest\" router has not received a " +"store yet.\n" +"The extent of the issue, and methods for mitigation\n" +"(for example netdb \"handoffs\" at midnight)\n" +"are a topic for further study." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:673 +msgid "Bootstrap Attacks" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:674 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:681 +msgid "Several defenses are possible, and most of these are planned:" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:685 +msgid "" +"Disallow fallback from HTTPS to HTTP for reseeding.\n" +"A MITM attacker could simply block HTTPS, then respond to the HTTP." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:689 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:693 +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 "" + +#: i2p2www/pages/site/docs/how/network-database.html:698 +msgid "Bundling reseed data in the installer" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:701 +msgid "Query Capture" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:702 +#, python-format +msgid "" +"See also lookup\n" +"(Reference: Hashing it out in Public Sections " +"2.2-2.3 for terms below in italics)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:707 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:712 +msgid "" +"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" +"Exploration results are generally limited to a few router hashes,\n" +"and each exploration query is directed to a random floodfill router." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:719 +#, python-format +msgid "" +"As of release 0.8.9, iterative lookups are implemented.\n" +"For floodfill router references returned in a\n" +"I2NP DatabaseSearchReplyMessage\n" +"response to a lookup,\n" +"these references are followed if they are closer (or the next closest) to" +" the lookup key.\n" +"The requesting router does not trust that the references are\n" +"closer to the key (i.e. they are verifiably correct.\n" +"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" +"within the desired key space region.\n" +"This design ensures that the query capture attack described in\n" +"Hashing it out in Public\n" +"is much more difficult." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:738 +msgid "DHT-Based Relay Selection" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:739 +#, python-format +msgid "(Reference: Hashing it out in Public Section 3)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:743 +#, python-format +msgid "" +"This doesn't have much to do with floodfill, but see\n" +"the peer selection page\n" +"for a discussion of the vulnerabilities of peer selection for tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:749 +msgid "Information Leaks" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:750 +#, python-format +msgid "" +"(Reference: In Search of an Anonymous and Secure " +"Lookup Section 3)" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:754 +#, python-format +msgid "" +"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 peer " +"selection and\n" +"tunnel building processes; only " +"previously-known peers\n" +"are used for tunnels.\n" +"Also, peer selection is unrelated to any notion of DHT key-closeness." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:765 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:773 +#, python-format +msgid "" +"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 f = 0.2 (20%% malicious nodes, as " +"specifed in the paper)\n" +"we expect that many of the Sybil threats we describe\n" +"(here,\n" +"here and\n" +"here)\n" +"become problematic for several reasons." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:787 +msgid "Moved to the netdb discussion page" +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:791 +msgid "End-to-end encryption of additional netDb lookups and responses." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:795 +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 +#: i2p2www/pages/site/docs/transport/index.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 "" +"Peer profiling is the process of collecting data based on the " +"observed performance\n" +"of other routers or peers, and classifying those peers into groups.\n" +"Profiling does not use any claimed performance data published by " +"the peer itself\n" +"in the network database." +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 "" +"Choosing peers from the set of floodfill routers to use for network " +"database storage and queries,\n" +"which is discussed on the network database 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 "" +"Peer selection is the process of choosing which routers\n" +"on the network we want to relay our messages to go through (which peers " +"will we \n" +"ask to join our tunnels). To accomplish this, we keep track of how each\n" +"peer performs (the peer's \"profile\") and use that data to estimate how" +" \n" +"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" +"claimed bandwidth is untrusted and is only used to avoid those " +"peers\n" +"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" +"timing attacks\n" +"more difficult." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:50 +msgid "" +"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." +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" +"Peer Profiling and Selection in the I2P Anonymous " +"Network\n" +"presented at PET-CON 2009.1.\n" +"See below for notes on minor changes since the " +"paper was published." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:65 +msgid "Profiles" +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:66 +#, python-format +msgid "" +"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" +"can be found in the code." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:75 +msgid "" +"Profiles are fairly small, a few KB. To control memory usage, the profile" +" expiration time\n" +"lessens as the number of profiles grows.\n" +"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." +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" +"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" +"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" +"send or receive on a single tunnel through the peer in a minute. For " +"this estimate it just looks at\n" +"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" +"would agree to participate in over a given time period. For this " +"estimate it looks at \n" +"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" +"While the calculation is time-weighted so that recent activity counts " +"more than later activity,\n" +"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" +"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" +"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 "" +"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" +"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 "" +"A peer is considered \"high capacity\" if its capacity calculation meets " +"or \n" +"exceeds the median of all peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:138 +msgid "" +"A peer is considered \"fast\" if they are already \"high capacity\" and " +"their \n" +"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" +"ProfileOrganizer." +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" +"If there would be more, only the ones with the highest speed rating are " +"placed in the group." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:160 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:164 +msgid "" +"The standard group has no fixed limit, but is somewhat smaller than the " +"number of RouterInfos\n" +"stored in the local network database.\n" +"On an active router in today's network, there may be about 1000 " +"RouterInfos and 500 peer profiles\n" +"(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 "" +"The groups tend to be fairly stable, that is, there is not much \"churn\"" +" in the rankings\n" +"at each recalculation.\n" +"Peers in the fast and high capacity groups get more tunnels build through" +" them, which increases their speed and capacity ratings,\n" +"which reinforces their presence in the group." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:188 +msgid "The router selects peers from the above groups to build tunnels through." +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 "" +"Client tunnels are used for application traffic, such as for HTTP proxies" +" and web servers." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:198 +msgid "" +"To reduce the susceptibility to some attacks,\n" +"and increase performance,\n" +"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." +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 "" +"Exploratory tunnels are used for router administrative purposes, such as " +"network database traffic\n" +"and testing client tunnels.\n" +"Exploratory tunnels are also used to contact previously unconnected " +"routers, which is why\n" +"they are called \"exploratory\".\n" +"These tunnels are usually low-bandwidth." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:215 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:223 +msgid "" +"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" +"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 "" +"To prevent some simple attacks, and for performance, there are the " +"following restrictions:" +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 predecessor attack\n" +"(2008 update).\n" +"More information is on the tunnel " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:268 +msgid "Continue to analyze an tune speed and capacity calculations as necessary" +msgstr "" + +#: i2p2www/pages/site/docs/how/peer-selection.html:271 +msgid "" +"Implement a more aggressive ejection strategy if necessary to control " +"memory usage as the network grows" +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" +"Peer Profiling and Selection in the I2P Anonymous " +"Network,\n" +"please keep in mind the following minor changes in I2P since the paper's " +"publication:" +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 +#: i2p2www/pages/site/docs/transport/ssu.html:273 +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" +"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" +"anonymity set of users already running on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:34 +msgid "" +"Applications available already provide the full range of typical Internet" +" activities -\n" +"anonymous web browsing, web hosting, chat, file sharing, e-mail,\n" +"blogging and content syndication, newsgroups, as well as several other " +"applications under development." +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, I2P-Messenger." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:42 +msgid "" +"File sharing: I2PSnark, Robert, iMule, \n" +"I2Phex, PyBit, I2P-bt\n" +"and others." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:47 +msgid "" +"E-mail: susimail and I2P-Bote." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:48 +msgid "" +"Blog: using e.g. the pebble plugin or the distributed blogging software " +"Syndie." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:49 +msgid "" +"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS " +"cloud over I2P." +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 "" +"Unlike web sites hosted within content distribution networks like Freenet \n" +"or GNUnet, 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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:61 +msgid "" +"With all of these anonymity enabled applications, I2P takes on the role \n" +"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 streaming 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" +"of the network." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:78 +#, python-format +msgid "" +"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 website, \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 (I2PTunnel, \n" +"susimail, I2PSnark, I2P-" +"Bote, \n" +"I2Phex and others.).\n" +"Funding for I2P comes entirely from " +"donations,\n" +"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 "" +"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" +"torrents, etc." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:111 +msgid "" +"Another critical concept to understand is the \"tunnel\".\n" +"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" +"The decrypted information contains the IP of the next router, along with\n" +"the encrypted information to be forwarded.\n" +"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" +"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" +"\"outbound\" tunnels send messages away from the tunnel creator,\n" +"while \"inbound\" tunnels 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" +"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" +"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" +"To do this, the sender (\"Alice\") adds instructions to her encrypted " +"message.\n" +"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 "" +"A third critical concept to understand is I2P's \"network " +"database\" (or \"netDb\") \n" +"- a pair of algorithms used to share network metadata. The two types of " +"metadata \n" +"carried are \"routerInfo\" and \"leaseSets\" - 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" +"The full information contained in a lease:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:155 +msgid "Inbound gateway for a tunnel that allows reaching a specific destination." +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 "" +"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)." +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 "" +"To build up her own inbound and outbound tunnels, Alice does a lookup in " +"the netDb to collect routerInfo.\n" +"This way, she gathers lists of peers she can use as hops in her tunnels.\n" +"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." +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 "" +"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" +"streaming library.\n" +"Alice may also cut down on the response time by bundling her most \n" +"recent LeaseSet with the message so that Bob doesn't need to do a netDb " +"lookup \n" +"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 "" +"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 \"garlic \n" +"encryption\" 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" +"encrypted without giving out the public key to Bob's own router." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:219 +msgid "" +"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 streaming library to view I2P as " +"a streams \n" +"based network." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:229 +msgid "" +"Both inbound and outbound tunnels work along similar principles.\n" +"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" +"added, the message arrives in the clear at the tunnel endpoint." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:244 +msgid "" +"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" +"has its own serious anonymity implications." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:257 +msgid "" +"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" +"to organize the peers by their profiles." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:270 +msgid "" +"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" +"while they currently use fairly simple algorithms, alternatives exist." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:288 +msgid "" +"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" +"adversaries." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:302 +msgid "" +"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" +"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" +"more detailed discussion of the mechanics involved in tunnel operation, " +"management, \n" +"and peer selection can be found in the tunnel " +"spec." +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 the network database 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" +"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" +"drops too low." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:343 +#, python-format +msgid "" +"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 Kademlia " +"algorithm.\n" +"The 'lookup' queries currently function differently, to avoid an " +"important\n" +"security issue.\n" +"When a lookup is done, the floodfill router will not forward the lookup " +"to other peers,\n" +"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 "" +"A RouterInfo stores information on a specific I2P router and how " +"to contact it" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:358 +msgid "" +"A LeaseSet stores information on a specific destination (e.g. I2P " +"website, e-mail server...)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:360 +msgid "" +"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 pool.ntp.org round robin by" +" default)\n" +"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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:381 +msgid "Bootstrapping:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:382 +msgid "" +"Bootstrapping the netDb is quite simple. Once a router manages to receive" +" a single routerInfo of a reachable peer,\n" +"it can query that router for references to other routers in the network.\n" +"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." +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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:402 +msgid "" +"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" +"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" +"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 UDP-based one - " +"\"Secure \n" +"Semireliable UDP\", or \"SSU\"." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:418 +#, python-format +msgid "As described in the SSU spec:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:422 +msgid "" +"The goal of this protocol is to provide secure, authenticated, \n" +"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" +"network obstacles, like most NATs or firewalls." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:432 +#, python-format +msgid "" +"Following the introduction of SSU, after issues with congestion collapse" +" \n" +"appeared, a new NIO-based TCP transport called NTCP \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" +"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" +"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" +"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" +"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 NTCP \n" +"page." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:459 +msgid "" +"A bare minimum set of cryptographic primitives are combined together to \n" +"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. Tunnel 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" +"(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 "" +"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" +"leaseSet, and forward it through the appropriate tunnels." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:490 +msgid "" +"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 nontrivial \n" +"delays 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" +"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 "" +"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" +"the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:543 +msgid "" +"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" +"to the full expensive ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:553 +msgid "" +"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" +"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 "" +"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." +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 "" +"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" +"(due to the usage of NAT), \n" +"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" +"network employing such an algorithm." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:586 +msgid "" +"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" +"the published introducer." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:599 +msgid "" +"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" +"2.0." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:621 +msgid "" +"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" +"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 "" +"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" +"or, most likely, to a remote client destination." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:651 +msgid "" +"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" +"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 "" +"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" +"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 Network Comparisons Page." +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" +"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" +"better performance." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:707 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:721 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:731 +msgid "" +"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" +"offer this topology until 2.0." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:737 +msgid "" +"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" +"architecture will be able to exploit scarce resources more effectively." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:751 +msgid "" +"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" +"to Freenet's heuristic distributed data storage algorithms." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:770 +msgid "" +"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" +"(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" +"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" +"team makes more information available." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:797 +msgid "" +"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 streaming" +" library \n" +"as an implementation of an anonymous and secure TCP layer on top of it. " +"Beyond \n" +"that, I2PTunnel exposes a generic TCP " +"proxying \n" +"system for either getting into or out of the I2P network, plus a variety " +"of \n" +"network applications provide further functionality for end users." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:809 +msgid "" +"The I2P streaming library can be viewed as a generic streaming interface " +"(mirroring TCP sockets),\n" +"and the implementation supports a sliding " +"window protocol\n" +"with several optimizations, to take into account the high delay over I2P." +"\n" +"Individual streams may adjust the maximum packet size and \n" +"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" +"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" +"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" +"deliver the full response to the browser immediately." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:832 +msgid "" +"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" +"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 Naming and " +"Addressbook 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 "" +"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" +"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" +"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" +"attacks as well as hostile certificate authority attacks." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:880 +msgid "" +"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" +"of answers may be reachable." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:890 +msgid "" +"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" +"they prefer." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:899 +msgid "" +"The old Syndie bundled with I2P has been replaced by the new Syndie which" +"\n" +"is distributed separately. For more information see the Syndie\n" +"pages." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:905 +msgid "" +"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" +"it." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:920 +msgid "" +"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" +"for reasons previously mentioned." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:934 +msgid "" +"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" +"be sufficient for some users." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:950 +msgid "" +"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 I2Pmail's \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" +"proxies to access the \"server\" instances pointing at an NNTP server." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:967 +msgid "" +"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 streaming lib connection to query them " +"for \n" +"blocks." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:976 +msgid "" +"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" +"be used for identifying peers." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:984 +msgid "" +"I2PSnark developed: jrandom, et al, ported from mjw's Snark client" +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:990 +msgid "" +"Bundled with the I2P install, I2PSnark offers a simple anonymous " +"BitTorrent \n" +"client with multitorrent capabilities, exposing all of the functionality " +"through \n" +"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" +"It is hosted on http://%(bob)s/Robert.html " +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1007 +#, python-format +msgid "" +"PyBit is a Bittorrent client written in Python.\n" +"It is hosted on http://%(pebcache)s/" +" " +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1015 +msgid "" +"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" +"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 "" +"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" +"%(postman)s." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1055 +msgid "" +"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" +"Instead, it uses a Kademlia Distributed Hash Table to store mails.\n" +"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.
    \n" +"Furthermore, I2P-Bote offers a remailer function on top of I2P, for " +"increased high-latency anonymity." +msgstr "" + +#: i2p2www/pages/site/docs/how/tech-intro.html:1065 +msgid "" +"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." +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" +"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" +"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" +"answering that question by exploring how I2P operates under various " +"attacks\n" +"so that you may decide whether it meets your needs." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:26 +msgid "" +"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" +"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 other \n" +"systems, but a few key points should be kept in" +" mind when \n" +"reviewing related literature:" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:39 +msgid "" +"I2P is a free route mixnet - 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" +"inbound tunnel)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:45 +msgid "" +"I2P has no official entry and exit points - all peers fully " +"participate in the \n" +"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 "" +"I2P is fully distributed - 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" +"anonymity)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:60 +#, python-format +msgid "" +"We have documented plans to implement nontrivial delays\n" +"and batching strategies \n" +"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" +"traffic for higher latency communication (e.g. email).\n" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:71 +msgid "" +"In theory, routers along the message path may inject an \n" +"arbitrary number of hops before forwarding the message to the next peer, " +"though\n" +"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" +"[Onion Routing],\n" +"[Freenet], and\n" +"[Tor].\n" +"Our design benefits substantially from the research published around that" +" time.\n" +"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" +"anonymity " +"literature (largely \n" +"Traffic Analysis: " +"Protocols, Attacks, Design \n" +"Issues and Open Problems), the following briefly describes a wide " +"variety \n" +"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" +"network comparisons and\n" +"\"garlic\" terminology pages may also " +"be helpful\n" +"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 "" +"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" +"message)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:157 +msgid "" +"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" +"defeat this attack exist, but may be prohibitively expensive (see: \n" +"Tarzan'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" +"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" +"setting low bandwidth limits, and using unpublished or encrypted " +"leasesets for eepsites.\n" +"Other countermeasures, such as nontrivial delays and restricted routes, " +"are\n" +"not currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:174 +#, python-format +msgid "" +"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" +"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" +"peer selection page." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:187 +msgid "" +"I2P's messages are unidirectional and do not necessarily imply that a " +"reply\n" +"will be sent. However, applications on top of I2P will most likely have\n" +"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" +"slow to have passed the message along." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:197 +msgid "" +"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)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:207 +#, python-format +msgid "" +"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 nontrivial " +"delays or \n" +"batching strategies), include protocol " +"scrubbing, or\n" +"other advanced tunnel routing techniques,\n" +"but these are unimplemented in I2P." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:216 +#, python-format +msgid "" +"References: Low-Resource Routing Attacks Against " +"Anonymous Systems" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:222 +msgid "" +"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" +"the network. Over time, as node churn occurs the attacker will gain \n" +"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" +"scenarios." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:232 +#, python-format +msgid "" +"In summary, if an attacker is at both ends of your tunnel at the same " +"time,\n" +"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 similar disclaimer." +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 "strict ordering of peers" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:247 +#, python-format +msgid "" +"peer profiling and selection from a " +"small group that changes slowly" +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" +"multihoming" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:263 +msgid "" +"Even in total, these defenses are not a complete solution.\n" +"Also, we have made some design choices that may significantly increase " +"our vulnerability:" +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 "" +"We use tunnel pools comprised of several tunnels, and traffic can shift " +"from tunnel to tunnel." +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" +"While 3-hop tunnels are recommended for full protection, several " +"applications and\n" +"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" +"for peers who can afford significant delays (per nontrivial\n" +"delays and batching strategies). " +"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" +"as an adversary can't \"ping\" them to mount the attack.

    " +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:293 +#, python-format +msgid "Reference: One Cell Enough" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:300 +msgid "" +"There are a whole slew of denial of service attacks available against " +"I2P,\n" +"each with different costs and consequences:" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:305 +msgid "" +"Greedy user attack: 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" +"other networks,\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" +"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." +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 "" +"Starvation attack: 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" +"should be necessary. \n" +"Alternatively, the nodes may provide intermittent service by periodically" +"\n" +"dropping selected traffic, or refusing connections to certain peers.\n" +"This behavior may be indistinguishable from that of a heavily-loaded or " +"failing node.\n" +"I2P addresses these issues by maintaining profiles on the \n" +"peers, attempting to identify underperforming ones and simply ignoring \n" +"them, or using them rarely.\n" +"We have significantly enhanced the\n" +"ability to recognize and avoid troublesome peers; however there are still" +"\n" +"significant efforts required in this area." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:344 +#, python-format +msgid "" +"Flooding attack: A hostile user may attempt to flood the network,\n" +"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 advanced tunnel\n" +"operation is implemented)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:360 +msgid "" +"CPU load attack: There are currently some methods for people to \n" +"remotely request that a peer perform some cryptographically expensive \n" +"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" +"engineering practices and potentially requiring nontrivial certificates \n" +"(e.g. HashCash) to be attached to these expensive requests should " +"mitigate\n" +"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 "" +"Floodfill DOS attack: A hostile user may attempt to harm the " +"network by\n" +"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" +"peer profiling are implemented,\n" +"however there is much more to do.\n" +"For more information see the\n" +"network database page." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:386 +#, python-format +msgid "" +"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 unique hop ids 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" +"as the links are encrypted and messages signed." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:402 +msgid "" +"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" +"the moment)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:418 +#, python-format +msgid "" +"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 harvesting" +" 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 nontrivial " +"delays and \n" +"batching strategies, 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" +"which other tunnels or messages have those delays)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:434 +#, python-format +msgid "" +"Also discussed on the network database " +"page (bootstrap attack)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:440 +msgid "" +"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" +"target is located." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:450 +#, python-format +msgid "" +"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 peer selection algorithm which " +"breaks them\n" +"into tiers. Second, with strict " +"ordering 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 permuted " +"tunnel length\n" +"(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" +"restricted routes " +"(unimplemented), only the peer with\n" +"a restricted connection to the target will ever contact the target, while" +" \n" +"attackers will merely run into that gateway." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:467 +#, python-format +msgid "" +"The current tunnel build method\n" +"was specifically designed to combat the predecessor attack.\n" +"See also the intersection attack." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:473 +#, python-format +msgid "" +"References: %(pdf2008)s\n" +"which is an update to the 2004 predecessor attack paper\n" +"%(pdf2004)s." +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 "" +"Network growth will make it more difficult to obtain a given proportion " +"of the network" +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 "" +"\"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:508 +#, python-format +msgid "" +"In future implementations,\n" +"basic and \n" +"comprehensive 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" +"they can be reached (as well as their public keys, etc)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:517 +msgid "" +"In the future, routers could use GeoIP to identify if they are in a " +"particular\n" +"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" +"As discussed above, I2P is not specifically " +"designed\n" +"to hide that a computer is running I2P. However, several design decisions" +" made\n" +"in the design of the\n" +"transport layer and protocols\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 "" +"DH key exchange with no protocol bytes or other unencrypted constant " +"fields" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:545 +#, python-format +msgid "" +"Simultaneous use of both\n" +"TCP and\n" +"UDP transports.\n" +"UDP may be much harder for some Deep Packet Inspection (DPI) equipment to" +" track." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:553 +msgid "" +"In the near future, we plan to directly address traffic analysis issues " +"by further obfuscation of I2P transport protocols, possibly including:" +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 "" +"Development of additional transport methods that mimic SSL or other " +"common protocols" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:566 +msgid "" +"Review of padding strategies at higher layers to see how they affect " +"packet sizes at the transport layer" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:569 +msgid "" +"Review of methods implemented by various state-level firewalls to block " +"Tor" +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: Breaking and Improving Protocol " +"Obfuscation" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:584 +#, python-format +msgid "" +"Sybil describes a category of attacks where the adversary creates " +"arbitrarily\n" +"large numbers of colluding nodes and uses the increased numbers to help \n" +"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' - Tarzan\n" +"(among others) uses the fact that IP addresses are limited, while \n" +"IIP used \n" +"HashCash to 'charge' for " +"creating a new\n" +"identity. We currently have not implemented any particular technique to " +"address\n" +"Sybil, but do include placeholder certificates in the router's and \n" +"destination's data structures which can contain a HashCash certificate of" +" \n" +"appropriate value when necessary (or some other certificate proving " +"scarcity)." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:602 +msgid "Requiring HashCash Certificates in various places has two major problems:" +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" +"selecting HashCash values that are meaningful proofs of work on high-end " +"machines,\n" +"while still being feasible on low-end machines such as mobile devices." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:616 +msgid "" +"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" +"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 network database page\n" +"for more Sybil discussion." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:630 +#, python-format +msgid "" +"(Reference: In Search of an Anonymouns and Secure " +"Lookup Section 5.2)" +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:634 +#, python-format +msgid "" +"By refusing to accept or forward tunnel build requests, except to a " +"colluding peer, a router could ensure\n" +"that a tunnel is formed wholly from its set of colluding routers.\n" +"The chances of success are enhanced if there is a large number of " +"colluding routers,\n" +"i.e. a Sybil attack.\n" +"This is somewhat mitigated by our\n" +"peer profiling methods used to monitor " +"the performance\n" +"of peers.\n" +"However, this is a powerful attack as the number of routers approaches\n" +"f = 0.2, or 20%% malicious nodes, as specifed in the paper.\n" +"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" +"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" +"we assume the security of the industry-standard cryptographic primitives " +"used in I2P, as documented\n" +"on the low-level cryptography page. \n" +"Security features include the immediate detection of \n" +"altered messages along the path, the inability to decrypt messages not " +"addressed to you,\n" +"and defense against man-in-the-middle attacks.\n" +"The key sizes chosen in 2003 were quite conservative at the time, and are" +" still longer than\n" +"those used in other anonymity " +"networks.\n" +"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" +"Of course, all cryptographic algorithms eventually become obsolete due to" +"\n" +"the advent of faster processors, cryptographic research, and advancements" +" in\n" +"methods such as rainbow tables, clusters of video game hardware, etc.\n" +"Unfortunately, I2P was not designed with easy mechanisms to lengthen keys" +" or change\n" +"shared secret values while maintaining backward compatibility." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:672 +#, python-format +msgid "" +"Upgrading the various data structures and protocols to support longer " +"keys\n" +"will have to be tackled eventually, and this will be a\n" +"major undertaking, just as it will be " +"for \n" +"others.\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" +"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" +"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" +"above, floodfill routers are uniquely positioned\n" +"to learn about network participants, due to their role\n" +"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" +"of the total keyspace, and the keyspace rotates daily, as explained \n" +"on the network database page.\n" +"The specific mechanisms by which routers communicate with floodfills have" +" been\n" +"carefully designed.\n" +"However, these threats should be studied further.\n" +"The specific potential threats and corresponding defenses are a topic for" +" future research." +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" +"network database page." +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 "" +"There are a few centralized or limited resources (some inside I2P, some " +"not)\n" +"that could be attacked or used as a vector for attacks.\n" +"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" +"most of which are now distributed.\n" +"Attacks on externally-reachable resources mainly affect the ability of " +"new users to find us,\n" +"not the operation of the network itself." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:729 +#, python-format +msgid "" +"The website is mirrored and uses DNS round-robin" +" for external public access." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:732 +#, python-format +msgid "" +"Routers now support multiple external reseed " +"locations,\n" +"however more reseed hosts may be needed, and the handling of unreliable " +"or malicious\n" +"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 "" +"Routers now better handle multiple unreliable " +"floodfill peers.\n" +"Malicious floodfills needs more study." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:748 +#, python-format +msgid "" +"The code is now stored in a distributed source " +"control system." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:751 +msgid "" +"Routers rely on a single news host, but there is a hardcoded backup URL " +"pointing to a different host.\n" +"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 "" +"Naming system services, 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" +"However, all naming services require some measure of trust, see\n" +"the naming page for details." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:762 +msgid "" +"We remain reliant on the DNS service for i2p2.de, losing this would cause" +" substantial\n" +"disruption in our ability to attract new users,\n" +"and would shrink the network (in the short-to-medium term), just as the " +"loss of i2p.net did." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:772 +msgid "" +"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." +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 "" +"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 distributed source control " +"system\n" +"are cryptographically signed, and the release packagers use a trust-list " +"system\n" +"to restrict modifications to those previously approved." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:793 +#, python-format +msgid "" +"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" +"a distributed source control system,\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 "" +"We also maintain relationships with various organizations that offer " +"legal advice,\n" +"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 "" +"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" +"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" +"security through " +"obscurity." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:821 +msgid "" +"In addition, the code is being \n" +"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" +"enough to identify shortcomings and bugs." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:831 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:837 +#, python-format +msgid "" +"I2P is still a small network with a small development community and " +"almost no\n" +"interest from academic or research groups.\n" +"Therefore we lack the analysis that\n" +"other anonymity networks\n" +"may have received. We continue to recruit people to\n" +"get involved 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/how/threat-model.html:857 +msgid "" +"To the extent that active peers actually do show up in the actual " +"blocklist,\n" +"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 "" +"Blocklists are only a part (perhaps a small part) of an array of defenses" +"\n" +"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" +"central resource attack.\n" +"Automatic subscription to a list gives the list provider the power to " +"shut\n" +"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" +"Should a particular IP range implement serious attacks on the I2P " +"network,\n" +"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 "" +"This page contains an overview of I2P tunnel terminology and operation, " +"with\n" +"links to more technical pages, details, and specifications." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:12 +#, python-format +msgid "" +"As briefly explained in the introduction, I2P " +"builds virtual \"tunnels\" -\n" +"temporary and unidirectional paths through a sequence of routers. These" +" \n" +"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" +"her existing outbound tunnels with instructions for that tunnel's " +"endpoint\n" +"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 +msgid "Alice connecting through her outbound tunnel to Bob via his inbound tunnel" +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 "" +"Tunnel gateway - the first router in a tunnel. For inbound " +"tunnels,\n" +"this is the one mentioned in the LeaseSet published in the\n" +"network database. 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 "" +"Tunnel endpoint - the last router in a tunnel. (e.g. both C and F" +" above)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:45 +msgid "" +"Tunnel participant - all routers in a tunnel except for the " +"gateway or\n" +"endpoint (e.g. both B and E above)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:49 +msgid "" +"n-Hop tunnel - a tunnel with a specific number of inter-router " +"jumps, e.g.:" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:51 +msgid "0-hop tunnel - a tunnel where the gateway is also the endpoint" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:52 +msgid "" +"1-hop tunnel - a tunnel where the gateway talks directly to the " +"endpoint" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:53 +msgid "" +"2-(or more)-hop tunnel - a tunnel where there is at least one " +"intermediate\n" +"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 "" +"Tunnel ID - A 4 " +"byte integer\n" +"different for each hop in a tunnel, and unique among all tunnels on a " +"router.\n" +"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 "" +"Routers performing the three roles (gateway, participant, endpoint) are " +"given\n" +"different pieces of data in the initial\n" +"Tunnel Build Message\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 "" +"tunnel encryption key - an AES private key for " +"encrypting\n" +"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 "" +"tunnel IV key - an AES private key for " +"double-encrypting\n" +"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 "" +"reply key - an AES public key for " +"encrypting\n" +"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 "" +"reply IV - the IV for encrypting the reply to the tunnel build " +"request" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:90 +msgid "tunnel id - 4 byte integer (inbound gateways only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:91 +msgid "" +"next hop - what router is the next one in the path (unless this is" +" a 0-hop tunnel, and the gateway is also the endpoint)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:92 +#: i2p2www/pages/site/docs/how/tunnel-routing.html:112 +msgid "next tunnel id - 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 "tunnel id - 4 byte integer" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:111 +msgid "next hop - 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 "" +"tunnel encryption key - an AES private key for " +"encrypting\n" +"messages and instructions to the the endpoint (itself)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:121 +#, python-format +msgid "" +"tunnel IV key - an AES private key for " +"double-encrypting\n" +"the IV to the endpoint (itself)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:125 +#, python-format +msgid "" +"reply key - an AES public key for " +"encrypting\n" +"the reply to the tunnel build request (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:129 +msgid "" +"reply IV - 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 "tunnel id - 4 byte integer (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:131 +msgid "" +"reply router - the inbound gateway of the tunnel to send the reply" +" through (outbound endpoints only)" +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:132 +msgid "" +"reply tunnel id - 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" +"tunnel creation specification." +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 "" +"Several tunnels for a particular purpose may be grouped into a \"tunnel " +"pool\",\n" +"as described in the\n" +"tunnel specification.\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 "" +"As mentioned above, each client requests that their router provide " +"tunnels to\n" +"include at least a certain number of hops.\n" +"The decision as to how many routers\n" +"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" +"pierce someone's anonymity.\n" +"Tunnel lengths are specified by clients via\n" +"I2CP options.\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" +"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)." +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" +"deniability and basic anonymity, as long as they are not up against an " +"internal\n" +"adversary (as described on threat model)." +" 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" +"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 "" +"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" +"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 some attacks,\n" +"3 or more hops are recommended for the highest level of protection.\n" +"Recent studies\n" +"also conclude that more than 3 hops does not provide additional " +"protection." +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" +"I2CP options.\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" +"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" +"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" +"capacity rating in the peer " +"profile." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:231 +#, python-format +msgid "" +"Tunnel creation is handled by garlic " +"routing\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" +"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" +"tunnel creation specification." +msgstr "" + +#: i2p2www/pages/site/docs/how/tunnel-routing.html:245 +#, python-format +msgid "" +"Multi-layer encryption is handled by garlic" +" encryption\n" +"of tunnel messages.\n" +"Details are in the\n" +"tunnel specification.\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" +"options specifying the pooling, mixing, and chaff generation settings may" +" be implemented." +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 "" +"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" +"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" +"Client SDK.\n" +"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" +"router itself and the router-side of I2CP." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:26 +#, python-format +msgid "" +"While implementing the client side of I2CP in a non-Java language is " +"certainly feasible,\n" +"a non-Java client would also have to implement the\n" +"streaming library for TCP-style " +"connections.\n" +"Together, implementing I2CP and the streaming library would be a sizable " +"task." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:33 +#, python-format +msgid "" +"Applications can take advantage of the base I2CP plus the \n" +"streaming and datagram libraries\n" +"by using the Simple Anonymous Messaging or BOB protocols,\n" +"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" +"Alternatively, Java clients may access those libraries in " +"ministreaming.jar and streaming.jar.\n" +"So there are several options for both Java and non-Java applications." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:45 +#, python-format +msgid "" +"Client-side end-to-end encryption (encrypting the data over the I2CP " +"connection)\n" +"was disabled in I2P release 0.6,\n" +"leaving in place the ElGamal/AES end-to-end " +"encryption\n" +"which is implemented in the router.\n" +"The only cryptography that client libraries must still implement is\n" +"DSA public/private key signing\n" +"for LeaseSets and\n" +"Session Configurations, and" +" management of those keys." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:58 +msgid "" +"In a standard I2P installation, port 7654 is used by external java " +"clients to communicate\n" +"with the local router via I2CP.\n" +"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 " +"i2cp.tcp.bindAllInterfaces=true and restart.\n" +"Clients in the same JVM as the router pass messages directly to the " +"router\n" +"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 I2CP Specification page." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:73 +msgid "I2CP Initialization" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:74 +#, python-format +msgid "" +"When a client connects to the router, it first sends a single protocol " +"version byte (0x2A).\n" +"Then it sends a GetDate Message and " +"waits for the SetDate Message " +"response.\n" +"Next, it sends a CreateSession " +"Message containing the session configuration.\n" +"It next awaits a RequestLeaseSet" +" Message 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." +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" +"a SessionConfig contained " +"in a CreateSession Message or " +"a ReconfigureSession " +"Message." +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" +"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." +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" +"The router will limit the total length of the tunnel to 0 to 7 inclusive." +"\n" +"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" +"The router will limit the total length of the tunnel to 0 to 7 inclusive." +"\n" +"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" +"use the first few characters of the Base64 hash of the destination by " +"default." +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" +"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" +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 "" +"Comma-separated list of Base 64 Hashes of peers to build tunnels through;" +" for debugging only" +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" +"If the client is running in the same JVM as a router, this option is not " +"required." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:337 +msgid "" +"Number of ElGamal/AES Session Tags to send at a time.\n" +"For clients with relatively low bandwidth per-client-pair (IRC, some UDP " +"apps), this may be set lower." +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" +"for any reply to be possible. \"true\" is also recommended for multihomed" +" servers\n" +"with long connection times." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:368 +msgid "" +"Setting to \"false\" may save significant outbound bandwidth, especially " +"if\n" +"the client is configured with a large number of inbound tunnels (Leases)." +"\n" +"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 "" +"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" +"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" +"in the \"unknown options\" properties of the inbound tunnel pool's " +"settings." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:408 +msgid "" +"Any other options prefixed with \"outbound.\" are stored\n" +"in the \"unknown options\" properties of the outbound tunnel pool's " +"settings." +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 "" +"Note: As of release 0.7.7, option names and values must use UTF-8 " +"encoding.\n" +"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" +"and will be interpreted if passed to the I2PSession via the " +"I2PClient.createSession() call.\n" +"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" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:463 +msgid "" +"Router I2CP port.\n" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:475 +msgid "" +"Connect to the router using SSL.\n" +"If the client is running in the same JVM as a router, this option is " +"ignored, and the client connects to that router internally." +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 "" +"Note: All arguments, including numbers, are strings. True/false values " +"are case-insensitive strings.\n" +"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 "" +"The end-to-end messages handled by I2CP (i.e. the data sent by the client" +" in a\n" +"SendMessageMessage\n" +"and received by the client in a\n" +"MessagePayloadMessage)\n" +"are gzipped with a standard 10-byte gzip\n" +"header beginning with 0x1F 0x8B 0x08 as\n" +"specified by RFC " +"1952.\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" +"to work reliably in the presence of multiple channels." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:599 +msgid "" +"The gzip function cannot be completely turned off, however setting " +"i2cp.gzip=false\n" +"turns the gzip effort setting to 0, which may save a little CPU." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:605 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 +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 +msgid "I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:640 +msgid "" +"Data integrity is verified with the standard gzip CRC-32 as\n" +"specified by RFC 1952." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2cp.html:648 +msgid "Implement I2CP and the streaming library in another programming language." +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 "" +"Some improvements may be able to use messages previously defined but not " +"implemented.\n" +"For reference, here is the\n" +"I2CP Protocol Specification Version 0.9\n" +"(PDF) dated August 28, 2003.\n" +"That document also references the\n" +"Common Data Structures Specification Version 0.9." +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" +"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" +"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 "" +"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" +"through multiple hops to the ultimate destination.\n" +"Priority is only used locally at the origin, i.e. when queuing for " +"outbound delivery." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:23 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:35 +msgid "Message Format" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/spec/streaming.html:35 +msgid "Field" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:39 +msgid "Unique ID" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:40 +msgid "Expiration" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:41 +#: i2p2www/pages/site/docs/protocol/i2np.html:98 +msgid "Payload Length" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:42 +msgid "Checksum" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:43 +msgid "Payload" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#, python-format +msgid "" +"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" +"the tunnel implementation page.\n" +"The maximum number of fragments is 64, and the message may not be " +"perfectly aligned,\n" +"So the message must nominally fit in 63 fragments." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:54 +msgid "" +"The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " +"delivery mode);\n" +"the maximum size of a follow-on fragment is 996 bytes.\n" +"Therefore the maximum size is approximately 956 + (62 * 996) = 62708 " +"bytes, or 61.2 KB." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:60 +msgid "" +"In addition, the transports may have additional restrictions.\n" +"NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " +"increased in a future release.\n" +"The SSU limit is approximately 32 KB." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:66 +msgid "" +"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" +"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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:74 +msgid "Message Types" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:75 +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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:86 +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 "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:97 +msgid "Type" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:99 +msgid "Priority" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:100 +msgid "Comments" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:108 +msgid "" +"400 normally; 100 if from HarvesterJob and sent directly;\n" +"400 for a router lookup" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:119 +msgid "" +"Size is 65 + 32*(number of hashes) where typically, the hashes for\n" +"three floodfill routers are returned." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:128 +msgid "Varies" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:130 +msgid "" +"Usually 100 (why?)\n" +"Size is 898 bytes for a typical 2-lease leaseSet.\n" +"RouterInfo structures are compressed, and size varies; however\n" +"there is a continuing effort to reduce the amount of data published in a " +"RouterInfo\n" +"as we approach release 1.0." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:152 +msgid "" +"Used for message replies, and for testing tunnels - generally wrapped in " +"a GarlicMessage" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:160 +msgid "" +"Generally wrapped in a DataMessage -\n" +"but when unwrapped, given a priority of 100 by the forwarding router" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:171 +msgid "Usually 500 (why?)" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:187 +msgid "" +"The most common message. Priority for tunnel participants, outbound " +"endpoints, and inbound gateways was\n" +"reduced to 200 as of release 0.6.1.33.\n" +"Outbound gateway messages (i.e. those originated locally) remains at 400." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:207 +msgid "Shorter TunnelBuildMessage as of 0.7.12" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:215 +msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#, python-format +msgid "Others listed in 2003 Spec" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:224 +msgid "Obsolete, Unused" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:228 +msgid "Full Protocol Specification" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#, python-format +msgid "" +"On the I2NP Specification page.\n" +"See also the\n" +"Common Data Structure Specification " +"page." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:236 +msgid "" +"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" +"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 Index to Technical Documentation." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:12 +msgid "" +"Each of the layers in the stack provides extra capabilities.\n" +"The capabilities are listed below, starting at the bottom of the protocol" +" stack." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:18 +msgid "Internet Layer:" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:20 +msgid "" +"IP: Internet Protocol, allow addressing hosts on the regular internet and" +" routing packets across the internet using best-effort delivery." +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 "" +"I2P Transport Layer: 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." +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 "I2P Tunnel Layer: provide full encrypted tunnel connections." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:42 +#, python-format +msgid "" +"Tunnel messages: 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" +"so it will be forwarded." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:48 +#, python-format +msgid "" +"I2NP messages: I2P Network Protocol messages are" +" used to pass messages through multiple routers. These I2NP messages are " +"combined in tunnel messages." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:53 +msgid "" +"I2P Garlic Layer: provide encrypted and anonymous end-to-end I2P " +"message delivery." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:55 +#, python-format +msgid "" +"I2NP messages: 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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:61 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:67 +msgid "" +"I2P Client Layer: allow any client to use I2P functionality, " +"without requiring the direct use of the router API." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:69 +#, python-format +msgid "" +"I2CP: I2P Client Protocol, allows secure and " +"asynchronous messaging over I2P by communicating messages over the I2CP " +"TCP socket." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:74 +msgid "" +"I2P End-to-end Transport Layer: allow TCP- or UDP-like " +"functionality on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:76 +#, python-format +msgid "" +"Streaming Library: an implementation of " +"TCP-like streams over I2P. This allows easier porting of existing " +"applications to I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:80 +#, python-format +msgid "" +"Datagram Library: an implementation of UDP-" +"like messages over I2P. This allows easier porting of existing " +"applications to I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:85 +msgid "" +"I2P Application Interface Layer: additional (optional) libraries " +"allowing easier implementations on top of I2P." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:93 +msgid "I2P Application Proxy Layer: proxy systems." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:95 +#, python-format +msgid "HTTP Client/Server, IRC Client, SOCKS, Streamr" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:99 +msgid "" +"Finally, what could be considered the 'I2P application layer', is " +"a large number of applications on top of I2P.\n" +"We can order this based on the I2P stack layer they use." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:104 +msgid "Streaming/datagram applications: i2psnark, Syndie, i2phex..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:105 +msgid "SAM/BOB applications: IMule, i2p-bt, i2prufus, Robert..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:106 +#, python-format +msgid "" +"Other I2P applications: Syndie, EepGet, plugins..." +msgstr "" + +#: i2p2www/pages/site/docs/protocol/index.html:107 +msgid "" +"Regular applications: 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" +"and the tables in the hostsdb.blockfile used by the Blockfile Naming Service." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:14 +msgid "" +"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" +"(such as added date, source, and comments) for each entry.\n" +"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" +"approximately 10x reduction in lookup times." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:24 +#, python-format +msgid "" +"A blockfile is simply on-disk storage of multiple sorted maps (key-value " +"pairs),\n" +"implemented as skiplists.\n" +"The blockfile format is adopted from the\n" +"Metanotion Blockfile Database.\n" +"First we will define the file format, then the use of that format by the " +"BlockfileNamingService." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:32 +msgid "Blockfile Format" +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:33 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:40 +msgid "" +"All 2-byte integer values are unsigned.\n" +"All 4-byte integer values (page numbers) are signed and negative values " +"are illegal." +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" +"Key/value structures are sorted by key within each span and across all " +"spans.\n" +"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" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:165 +msgid "Blockfile Naming Service Tables" +msgstr "" + +#: i2p2www/pages/site/docs/spec/blockfile.html:166 +msgid "" +"The tables created and used by the BlockfileNamingService are as follows." +"\n" +"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 "" +"\"%%__REVERSE__%%\" is the reverse lookup skiplist with " +"Integer/Properties key/value entries\n" +" (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 "" +"This document describes some data types common to all I2P protocols, like" +"\n" +"I2NP, I2CP,\n" +"SSU, 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 +#: i2p2www/pages/site/docs/spec/common-structures.html:233 +#: i2p2www/pages/site/docs/spec/common-structures.html:302 +#: i2p2www/pages/site/docs/spec/common-structures.html:353 +#: i2p2www/pages/site/docs/spec/common-structures.html:399 +#: i2p2www/pages/site/docs/spec/common-structures.html:448 +#: i2p2www/pages/site/docs/spec/common-structures.html:572 +#: i2p2www/pages/site/docs/spec/common-structures.html:628 +#: i2p2www/pages/site/docs/spec/streaming.html:35 +#: i2p2www/pages/site/get-involved/develop/applications.html:6 +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 "" +"The number of milliseconds since midnight on January 1, 1970 in the GMT " +"timezone.\n" +"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 Integer\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 "" +"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" +"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 Integer\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 "" +"This structure is used in ElGamal encryption, representing only the " +"exponent, not the primes, which are constant and defined in\n" +"the cryptography specification.\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 "" +"This structure is used in ElGamal decryption, representing only the " +"exponent, not the primes which are constant and defined in\n" +"the cryptography specification.\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 DSA 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 "" +"This structure is used for creating DSA signatures.\n" +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 DSA " +"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 Integer\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 "" +"1 byte Integer specifying certificate type," +" followed by a 2 Integer specifying the " +"size of the certificate payload, then that many bytes.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:207 +msgid "" +"For Router Identities, the " +"Certificate is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:211 +#, python-format +msgid "" +"For Garlic Cloves, the " +"Certificate is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:215 +#, python-format +msgid "" +"For Garlic Messages, the Certificate " +"is always NULL, no others are currently implemented." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:219 +msgid "" +"For Destinations, the Certificate may" +" be non-NULL,\n" +"however non-NULL certs are not widely used, and any checking is left to " +"the application-level." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:230 +msgid "A set of key/value mappings or properties\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:234 +msgid "A 2-byte size Integer followed by a series of String=String; pairs\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:263 +msgid "" +"The encoding isn't optimal - we either need the '=' and ';' characters, " +"or the string lengths, but not both" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:267 +msgid "" +"Some documentation says that the strings may not include '=' or ';' but " +"this encoding supports them" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:271 +msgid "" +"Strings are defined to be UTF-8 but in the current implementation, I2CP " +"uses UTF-8 but I2NP does not.\n" +"For example,\n" +"UTF-8 strings in a RouterInfo options mapping in a I2NP Database Store " +"Message will be corrupted." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:277 +msgid "" +"Mappings contained in I2NP messages (i.e. in a RouterAddress or " +"RouterInfo)\n" +"must be sorted by key so that the signature will be invariant." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:282 +msgid "" +"Key and value string length limits are 255 bytes (not characters) each, " +"plus the length byte. Length byte may be 0." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:286 +msgid "" +"Total length limit is 65535 bytes, plus the 2 byte size field, or 65537 " +"total." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:295 +msgid "Common structure specification" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:299 +msgid "Defines the way to uniquely identify a particular router\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:303 +msgid "" +"PublicKey followed by SigningPublicKey and then a Certificate\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:342 +msgid "" +"The certificate for a RouterIdentity is currently unused and is always " +"NULL." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:350 +msgid "" +"A Destination defines a particular endpoint to which messages can be " +"directed for secure delivery.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:354 +msgid "" +"PublicKey followed by a SigningPublicKey and then a Certificate\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:396 +msgid "" +"Defines the authorization for a particular tunnel to receive messages " +"targeting a Destination.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:400 +msgid "" +"SHA256 Hash of the\n" +"RouterIdentity of the gateway " +"router, then the TunnelId, and finally an " +"end Date\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:433 +msgid "Total size: 44 bytes" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:443 +msgid "" +"Contains all of the currently authorized Leases for a particular Destination, the PublicKey to which garlic messages can be " +"encrypted,\n" +"and then the public key that can " +"be used to revoke this particular version of the structure. The LeaseSet is one of the two structures " +"stored in the network database(\n" +"the other being RouterInfo), and is " +"keyed under the SHA256 of the contained Destination.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:449 +msgid "" +"Destination, followed by a PublicKey for encryption, then a SigningPublicKey which can be used to" +" revoke this version of the LeaseSet,\n" +"then a 1 byte Integer specifying how many " +"Lease structures are in the set, followed " +"by the actual Lease structures and finally " +"a Signature of the previous\n" +"bytes signed by the Destination's SigningPrivateKey" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:543 +msgid "" +"The public key of the destination was used for the old i2cp-to-i2cp " +"encryption\n" +"which was disabled in version 0.6, it is currently unused?" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:548 +#, python-format +msgid "" +"The encryption key is used for end-to-end ElGamal/AES+SessionTag encryption.\n" +"It is currently generated anew at every router startup, it is not " +"persistent." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:553 +msgid "" +"The signature may be verified using the signing public key of the " +"destination." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:557 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:569 +msgid "" +"This structure defines the means to contact a router through a transport " +"protocol.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:573 +msgid "" +"1 byte Integer defining the relative cost " +"of using the address, where 0 is free and 255 is expensive, followed by " +"the expiration Date after which the address " +"should not be used, or if null, the address never expires.\n" +"After that comes a String defining the " +"transport protocol this router address uses. Finally there is a Mapping containing all of the transport " +"specific options necessary to establish the connection, such as\n" +"IP address, port number, email address, URL, etc.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:610 +msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP." +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:614 +msgid "Expiration is currently unused, always null (all zeroes))" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:624 +msgid "" +"Defines all of the data that a router wants to publish for the network to" +" see. The RouterInfo is one of two " +"structures stored in the network database(the other being LeaseSet, and is keyed under the SHA256 of" +"\n" +"the contained RouterIdentity.\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:629 +msgid "" +"RouterIdentity followed by the Date, when the entry was published\n" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:710 +msgid "" +"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" +msgstr "" + +#: i2p2www/pages/site/docs/spec/common-structures.html:715 +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 +#, python-format +msgid "" +"Defined in the Tunnel Message " +"Specification.\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" +"It also gives an overview of the information contained in the various " +"files,\n" +"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" +"Java Properties\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 "" +"Does not use or recognize any escapes, including '\\', so lines may not " +"be continued" +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 "" +"'#' starts a comment in any position but ';' must be in column 1 to start" +" a comment" +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 "" +"As there are no escapes, keys may not contain '#', '=', or '\n" +"', or start with ';'" +msgstr "" + +#: i2p2www/pages/site/docs/spec/configuration.html:31 +msgid "" +"As there are no escapes, values may not contain '#' or '\n" +"', or start or end with '\r" +"' or whitespace" +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" +"DataHelper loadProps() and storeProps().\n" +"Note that the file format is significantly different than the\n" +"serialized format for I2P protocols specified in\n" +"Mapping." +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 the plugin specification." +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 "" +"Non-repliable datagrams have no 'from' address and are not authenticated." +"\n" +"They are also called \"raw\" datagrams.\n" +"Strictly speaking, they are not \"datagrams\" at all, they are just raw " +"data.\n" +"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 "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#, python-format +msgid "" +"The practical length is limited by lower layers of protocols - the\n" +"tunnel message spec\n" +"limits messages to about 61.2 KB and the\n" +"transports\n" +"currently limit messages to about 32 KB, although this may be raised in " +"the future." +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:41 +msgid "Repliable Datagrams" +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:42 +msgid "" +"Repliable datagrams contain a 'from' address and a signature. These add " +"427 bytes of overhead." +msgstr "" + +#: i2p2www/pages/site/docs/spec/datagrams.html:91 +#, python-format +msgid "" +"The practical length is limited by lower layers of protocols - the\n" +"transports\n" +"currently limit messages to about 32 KB, so the data length here is " +"limited to about\n" +"31.5 KB." +msgstr "" + +#: 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" +"as follows. Any data structures specified must be added to the options " +"area\n" +"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:3 +msgid "November 2011" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:7 +msgid "" +"I2P uses a simple, yet secure, system for automated software update.\n" +"The router console periodically pulls a news file from a configurable I2P" +" URL.\n" +"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 "" +"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" +"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 "" +"The router may optionally download, or download and install, the new " +"version\n" +"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 "" +"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" +"currently unused." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:41 +msgid "" +"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." +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 "" +"A 40-byte DSA " +"signature" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:57 +msgid "A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary" +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:62 +#, python-format +msgid "" +"The signature covers only the zip archive - not the prepended version.\n" +"The signature must match one of the DSA public keys " +"configured into the router,\n" +"which has a hardcoded default list of keys of the current project release" +" managers." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:68 +msgid "" +"For version comparison purposes, version fields contain [0-9]*, field " +"separators are\n" +"'-', '_', and '.', and all other characters are ignored." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:73 +msgid "" +"As of version 0.8.8, the version must also be specified as a zip file " +"comment in UTF-8,\n" +"without the trailing zeroes.\n" +"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" +"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 "" +"The router first downloads the header of the update file from one in a " +"configurable list of I2P URLs,\n" +"using the built-in HTTP client and proxy,\n" +"and checks that the version is newer.\n" +"This prevents the problem of update hosts that do not have the latest " +"file.\n" +"The router then downloads the full update file.\n" +"The router verifies that the update file version is newer before " +"installation.\n" +"It also, of course, verifies the signature, and\n" +"verifes that the zip file comment matches the header version, as " +"explained above." +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" +"Update files containing .pack files are traditionally named with a '.su2'" +" suffix.\n" +"Pack200 shrinks the update files by about 60%." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:105 +msgid "" +"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" +"be extracted from jbigi.jar." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:111 +msgid "" +"As of release 0.8.12, if the zip archive contains a file deletelist.txt, " +"the router will\n" +"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 "" +"All file names are relative to the installation directory; no absolute " +"file names allowed, no files starting with \"..\"" +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 "" + +#: i2p2www/pages/site/docs/spec/updates.html:128 +msgid "" +"When a new update file specification is defined, it should use a larger\n" +"DSA signature, and the signature should cover the version.\n" +"A file format version number might be a good idea too." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:133 +msgid "" +"The network will eventually grow too large for update over HTTP.\n" +"The built-in BitTorrent client, i2psnark, may be used as a distributed " +"update method.\n" +"This development effort was started in 2009 but is on hold until it is " +"required." +msgstr "" + +#: i2p2www/pages/site/docs/spec/updates.html:138 +msgid "" +"The router update mechanism is part of the web router console.\n" +"There is currently no provision for updates of an embedded router lacking" +" the router console." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:2 +msgid "Transport Overview" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:6 +msgid "Transports in I2P" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:8 +msgid "" +"A \"transport\" in I2P is a method for direct, point-to-point " +"communication\n" +"between two routers.\n" +"Transports must provide confidentiality and integrity \n" +"against external adversaries while authenticating that the router " +"contacted \n" +"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 "NTCP, a Java New I/O (NIO) TCP transport" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:22 +#, python-format +msgid " SSU, 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" +"that the router publishes as its global contact information (the " +"RouterInfo)" +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 "" +"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" +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 "" +"Coordination of firewall status and local IP, and changes to either, " +"among the transports" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:54 +#: i2p2www/pages/site/docs/transport/ssu.html:30 +msgid "" +"Communication of firewall status and local IP, and changes to either, to " +"the router and the user interface" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:55 +msgid "" +"Determination of a consensus clock, which is used to periodically update " +"the router's clock, as a backup for NTP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:56 +msgid "" +"Maintenance of status for each peer, including whether it is connected, " +"whether it was recently connected,\n" +"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 "" +"Honoring the automated and manual lists of banned peers maintained by the" +" router,\n" +"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 "" +"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." +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 "" +"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 the SSU spec for details)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:82 +msgid "" +"A router is not firewalled or its NAT ports are open; it publishes both " +"NTCP and SSU addresses containing\n" +"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 "" +"The transport system delivers I2NP messages. The" +" transport selected for any message is\n" +"independent of the application-layer protocol (TCP or UDP)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:95 +msgid "" +"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" +"A transport may refuse to bid." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:101 +msgid "Whether a transport bids, and with what value, depend on numerous factors:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:105 +msgid "Configuration of transport preferences" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:106 +msgid "Whether the transport is already connected to the peer" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:107 +msgid "" +"The number of current connections compared to various connection limit " +"thresholds" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:108 +msgid "Whether recent connection attempts to the peer have failed" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:109 +msgid "" +"The size of the message, as different transports have different size " +"limits" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:110 +msgid "" +"Whether the peer can accept incoming connections for that transport, as " +"advertised in its RouterInfo" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:111 +msgid "Whether the connection would be indirect (requiring introducers) or direct" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:112 +msgid "The peer's transport preference, as advertised in its RouterInfo" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:115 +msgid "" +"In general, the bid values are selected so that two routers are only " +"connected by a single transport\n" +"at any one time. However, this is not a requirement." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:122 +msgid "New Transports and Future Work" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:124 +msgid "Additional transports may be developed, including:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:129 +msgid "A TLS/SSH look-alike transport" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:130 +msgid "" +"An \"indirect\" transport for routers that are not reachable by all other" +" routers (one form of \"restricted routes\")" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:133 +msgid "" +"Also, the existing transports will be enhanced to support multiple " +"addresses within a single transport,\n" +"including IPV6 addresses. Currently, a transport may only advertise a " +"single IPV4 address." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:138 +msgid "" +"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" +"routers that are behind restrictive state firewalls (restricted routes)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:145 +msgid "" +"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" +"that assumption is difficult to verify." +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:152 +#, python-format +msgid "" +"Analyze Breaking and Improving Protocol " +"Obfuscation\n" +"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 "" +"NTCP is one of two transports currently " +"implemented in I2P.\n" +"The other is SSU.\n" +"NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n" +"Java NIO (new I/O) does not suffer from the 1 thread per connection " +"issues of the old TCP transport." +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 "" +"The NTCP code within I2P is relatively lightweight (1/4 the size of the " +"SSU code)\n" +"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" +"the NTCP transport sends individual I2NP messages, with a simple " +"checksum.\n" +"The unencrypted message is encoded as follows:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:42 +msgid "" +"The data is then AES/256/CBC encrypted. The session key for the " +"encryption\n" +"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n" +"The establishment between two routers is implemented in the " +"EstablishState class\n" +"and detailed below.\n" +"The IV for AES/256/CBC encryption is the last 16 bytes of the previous " +"encrypted message." +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 "" +"Total length: 16 bytes. The time sync message is sent at approximately 15" +" minute intervals.\n" +"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 ZLIB Specification." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:83 +msgid "Establishment Sequence" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:84 +msgid "" +"In the establish state, there is a 4-phase message sequence to exchange " +"DH keys and signatures.\n" +"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n" +"Then, DSA signatures of the critical data are exchanged to confirm the " +"connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:100 +msgid "Legend:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:101 +msgid "256 byte DH public keys" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:105 +msgid "timestamps (4 bytes, seconds since epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:106 +msgid "32 byte Session key" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:107 +msgid "2 byte size of Alice identity to follow" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:110 +msgid "DH Key Exchange" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:111 +#, 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" +"ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:117 +msgid "" +"The DH key exchange consists of a number of steps, displayed below.\n" +"The mapping between these steps and the messages sent between I2P " +"routers,\n" +"is marked in bold." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:123 +msgid "" +"Alice generates a secret 226-bit integer x. She then calculates X =" +" g^x mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:124 +msgid "Alice sends X to Bob (Message 1)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:125 +msgid "" +"Bob generates a secret 226-bit integer y. He then calculates Y = " +"g^y mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:126 +msgid "Bob sends Y to Alice.(Message 2)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:127 +msgid "Alice can now compute sessionKey = Y^x mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:128 +msgid "Bob can now compute sessionKey = X^y mod p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:129 +msgid "" +"Both Alice and Bob now have a shared key sessionKey = g^(x*y) mod " +"p." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:131 +msgid "" +"The sessionKey is then used to exchange identities in Message 3 " +"and Message 4." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:135 +msgid "Message 1 (Session Request)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:136 +#, python-format +msgid "" +"This is the DH request. Alice already has Bob's\n" +"Router " +"Identity,\n" +"IP address, and port, as contained in his\n" +"Router Info,\n" +"which was published to the\n" +"network database.\n" +"Alice sends Bob:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:149 +#: i2p2www/pages/site/docs/transport/ntcp.html:192 +#: i2p2www/pages/site/docs/transport/ntcp.html:272 +#: i2p2www/pages/site/docs/transport/ntcp.html:355 +msgid "Size:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:151 +msgid "Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:169 +msgid "256 byte X from Diffie Hellman" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:171 +#, python-format +msgid "" +"SHA256 Hash(X) xored with SHA256 Hash(Bob's Router Identity)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:178 +#: i2p2www/pages/site/docs/transport/ntcp.html:259 +#: i2p2www/pages/site/docs/transport/ntcp.html:336 +msgid "Notes:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:179 +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 "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:185 +msgid "Message 2 (Session Created)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:186 +msgid "This is the DH reply. Bob sends Alice:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:194 +#: i2p2www/pages/site/docs/transport/ntcp.html:274 +#: i2p2www/pages/site/docs/transport/ntcp.html:357 +msgid "Unencrypted Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:216 +#: i2p2www/pages/site/docs/transport/ntcp.html:250 +msgid "256 byte Y from Diffie Hellman" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:218 +msgid "SHA256 Hash(X concatenated with Y)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:221 +#: i2p2www/pages/site/docs/transport/ntcp.html:306 +msgid "4 byte timestamp (seconds since the epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:223 +msgid "12 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:228 +#: i2p2www/pages/site/docs/transport/ntcp.html:318 +#: i2p2www/pages/site/docs/transport/ntcp.html:385 +msgid "Encrypted Contents:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:252 +#, python-format +msgid "" +"48 bytes AES encrypted using the DH " +"session key and\n" +" the last 16 bytes of Y as the IV" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:260 +msgid "" +"Alice may drop the connection if the clock skew with Bob is too high as " +"calculated using tsB." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:265 +msgid "Message 3 (Session Confirm A)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:266 +msgid "" +"This contains Alice's router identity, and a DSA signature of the " +"critical data. Alice sends Bob:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:300 +msgid "2 byte size of Alice's router identity to follow (should always be 387)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:302 +#, python-format +msgid "" +"Alice's 387 byte Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:308 +msgid "15 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:310 +#, python-format +msgid "" +"the 40 byte DSA " +"signature of the following concatenated data:\n" +" X, Y, Bob's Router Identity, " +"tsA, tsB.\n" +" Alice signs it with the private signing " +"key associated with the public signing " +"key in her Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:328 +#, python-format +msgid "" +"448 bytes AES encrypted 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" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:338 +msgid "Bob verifies the signature, and on failure, drops the connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:341 +msgid "" +"Bob may drop the connection if the clock skew with Alice is too high as " +"calculated using tsA." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:348 +msgid "Message 4 (Session Confirm B)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:349 +msgid "This is a DSA signature of the critical data. Bob sends Alice:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:374 +#, python-format +msgid "" +"the 40 byte DSA " +"signature of the following concatenated data:\n" +" X, Y, Alice's Router Identity, " +"tsA, tsB.\n" +" Bob signs it with the private signing " +"key associated with the public signing " +"key in his Router Identity" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:380 +msgid "8 bytes random data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:395 +#, python-format +msgid "" +"48 bytes AES encrypted using the DH " +"session key and\n" +" the last 16 bytes of the encrypted contents of message " +"#2 as the IV" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:403 +msgid "Alice verifies the signature, and on failure, drops the connection." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:410 +msgid "After Establishment" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:411 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:420 +msgid "Check Connection Message" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:421 +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 "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:430 +msgid "32 bytes of uninterpreted, ignored data" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:431 +msgid "1 byte size" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:432 +msgid "" +"that many bytes making up the local router's IP address (as reached by " +"the remote side)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:433 +msgid "2 byte port number that the local router was reached on" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:434 +msgid "" +"4 byte i2p network time as known by the remote side (seconds since the " +"epoch)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:435 +msgid "uninterpreted padding data, up to byte 223" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:436 +msgid "" +"xor of the local router's identity hash and the SHA256 of bytes 32 " +"through bytes 223" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:440 +msgid "Discussion" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:441 +#, python-format +msgid "Now on the NTCP Discussion Page." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:447 +msgid "The maximum message size should be increased to approximately 32 KB." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:451 +msgid "" +"A set of fixed packet sizes may be appropriate to further hide the data \n" +"fragmentation to external adversaries, but the tunnel, garlic, and end to" +" \n" +"end padding should be sufficient for most needs until then.\n" +"However, there is currently no provision for padding beyond the next " +"16-byte boundary,\n" +"to create a limited number of message sizes." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:459 +msgid "" +"Memory utilization (including that of the kernel) for NTCP should be " +"compared to that for SSU." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:463 +msgid "" +"Can the establishment messages be randomly padded somehow, to frustrate\n" +"identification of I2P traffic based on initial packet sizes?" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ntcp.html:468 +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:3 +msgid "October 2012" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:6 +msgid "Secure Semireliable UDP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:7 +#, python-format +msgid "" +"SSU (also called \"UDP\" in much of the I2P documentation and user " +"interfaces)\n" +"is one of two transports currently " +"implemented in I2P.\n" +"The other is NTCP." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:13 +msgid "" +"SSU is the newer of the two transports,\n" +"introduced in I2P release 0.6.\n" +"In a standard I2P installation, the router uses both NTCP and SSU for " +"outbound connections." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:19 +msgid "SSU Services" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:21 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:27 +msgid "" +"Cooperative NAT/Firewall traversal using introducers" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:28 +msgid "" +"Local IP detection by inspection of incoming packets and peer testing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:29 +msgid "" +"Communication of firewall status and local IP, and changes to either to " +"NTCP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:34 +msgid "Protocol Details" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:36 +msgid "Congestion control" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:38 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:45 +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" +"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" +"Unlike for TCP, routers may give up on some messages after\n" +"a given period or number of retransmissions while continuing to transmit" +" \n" +"other messages." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:56 +msgid "" +"The congestion detection techniques vary from TCP as well, since each \n" +"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" +"to the sender, the receiver periodically includes a list of fully ACKed \n" +"message identifiers and may also include bitfields for partially received" +"\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:68 +msgid "" +"The current implementation does not pad the packets to\n" +"any particular size, but instead just places a single message fragment " +"into\n" +"a packet and sends it off (careful not to exceed the MTU)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:75 +msgid "" +"As of router version 0.8.12,\n" +"two MTU values are used: 620 and 1484.\n" +"The MTU value is adjusted based on the percentage of packets that are " +"retransmitted." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:81 +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" +"16 bytes, for encryption purposes.\n" +"This calculation is for IPv4 only. While the protocol as specified " +"supports IPv6\n" +"addresses, IPv6 is not yet implemented." +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 "" +"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" +"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 "" +"As of release 0.9.2, if a router's network interface MTU is less than " +"1484,\n" +"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 +msgid "Message Size Limits" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:120 +msgid "" +"While the maximum message size is nominally 32KB, the practical\n" +"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" +"which is sufficient for 64 * 534 = 33.3 KB when using the 608 MTU.\n" +"Due to overhead for bundled LeaseSets and session keys, the practical " +"limit\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:131 +msgid "Keys" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:133 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:140 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:149 +msgid "" +"Upon receiving a message, the receiver checks the \"from\" IP address and" +" port\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:160 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:171 +#, python-format +msgid "" +"For the DH key agreement,\n" +"RFC3526 2048bit\n" +"MODP group (#14) is used:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:181 +#, python-format +msgid "" +"These are the same p and g used for I2P's\n" +"ElGamal encryption." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:186 +msgid "Replay prevention" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:188 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:195 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:203 +msgid "Addressing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:205 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:217 +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 below." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:223 +#, python-format +msgid "" +"The addresses, options, and capabilities are published in the network database." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:228 +msgid "Direct Session Establishment" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:229 +msgid "" +"Direct session establishment is used when no third party is required for " +"NAT traversal.\n" +"The message sequence is as follows:" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:234 +msgid "Connection establishment (direct)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:235 +msgid "Alice connects directly to Bob." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:249 +#, python-format +msgid "" +"After the SessionConfirmed message is received, Bob sends a small\n" +"DeliveryStatus message\n" +"as a confirmation.\n" +"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" +"(i.e. 0x0000000000000002)." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:258 +#, python-format +msgid "" +"After the status message is sent, the peers exchange\n" +"DatabaseStore messages\n" +"containing their\n" +"RouterInfos." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:266 +msgid "" +"It does not appear that the type of the status message or its contents " +"matters.\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:275 +msgid "" +"Introduction keys are delivered through an external channel \n" +"(the network database, where they are identical to the router Hash for " +"now)\n" +"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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:289 +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" +"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" +"introducers, asking each to introduce her to Charlie (offering the \n" +"introduction tag to identify Charlie). Bob then forwards a RelayIntro\n" +"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" +"and when Alice receives Bob's RelayResponse packet, she begins a new \n" +"full direction session establishment with the specified IP and port." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:316 +msgid "Connection establishment (indirect using an introducer)" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:318 +msgid "Alice first connects to introducer Bob, who relays the request to Charlie." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:336 +msgid "" +"After the hole punch, the session is established between Alice and " +"Charlie as in a direct establishment." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:341 +msgid "Peer testing" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:343 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:362 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:372 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:381 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:392 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:402 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:410 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:420 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:429 +msgid "Transmission window, ACKs and Retransmissions" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:430 +#, 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" +"the protocol specification page\n" +"for details." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:438 +#, python-format +msgid "" +"The details of windowing, ACK, and retransmission strategies are not " +"specified\n" +"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" +"an adjustable transmission window, RTT estimate and timeout, similar to " +"TCP\n" +"or streaming.\n" +"See the code for initial, min and max parameters." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:450 +msgid "Security" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:451 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:459 +msgid "" +"The details of validation are not specified\n" +"here. Implementers should add defenses where appropriate." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:465 +msgid "Peer capabilities" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:469 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:475 +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 "" + +#: i2p2www/pages/site/docs/transport/ssu.html:484 +msgid "" +"Analysis of current SSU performance, including assessment of window size " +"adjustment\n" +"and other parameters, and adjustment of the protocol implementation to " +"improve\n" +"performance, is a topic for future work." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:490 +msgid "" +"The current implementation repeatedly sends acknowledgments for the same " +"packets,\n" +"which unnecessarily increases overhead." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:495 +msgid "" +"The default small MTU value of 620 should be analyzed and possibly " +"increased.\n" +"The current MTU adjustment strategy should be evaluated.\n" +"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? " +"Probably not." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:501 +msgid "The protocol should be extended to exchange MTUs during the setup." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:505 +msgid "Rekeying is currently unimplemented and may never be." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:509 +msgid "" +"The potential use of the 'challenge' fields in RelayIntro and " +"RelayResponse,\n" +"and use of the padding field in SessionRequest and SessionCreated, is " +"undocumented." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:514 +msgid "" +"Instead of a single fragment per packet, a more efficient\n" +"strategy may be to bundle multiple message fragments into the same " +"packet,\n" +"so long as it doesn't exceed the MTU." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:520 +msgid "" +"A set of fixed packet sizes may be appropriate to further hide the data \n" +"fragmentation to external adversaries, but the tunnel, garlic, and end to" +" \n" +"end padding should be sufficient for most needs until then." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:526 +msgid "" +"Why are introduction keys the same as the router hash, should it be " +"changed, would there be any benefit?" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:530 +msgid "Capacities appear to be unused." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:534 +msgid "" +"Signed-on times in SessionCreated and SessionConfirmed appear to be " +"unused or unverified." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:539 +msgid "Implementation Diagram" +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:540 +msgid "" +"This diagram\n" +"should accurately reflect the current implementation, however there may " +"be small differences." +msgstr "" + +#: i2p2www/pages/site/docs/transport/ssu.html:548 +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" +"gateway, 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" +"it reaches the tunnel endpoint. That endpoint 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" +"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" +"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" +"on the tunnel overview page." +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 "" +"After a tunnel is built, I2NP messages are " +"processed and passed through it.\n" +"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 "" +"Eventually, the tunnel messages arrive at the endpoint where the I2NP " +"messages\n" +"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 +msgid "Decrypt (using an encryption operation) to reveal plaintext tunnel message" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:134 +msgid "Reassemble Fragments, Forward as instructed to Inbound Gateway or Router" +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" +"I2NP messages into fixed-size\n" +"tunnel messages\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" +"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" +"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 "" +"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" +"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" +"tunnel message specification." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:205 +msgid "Gateway Encryption" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:207 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:213 +msgid "" +"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" +"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 "" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:253 +msgid "Endpoint Processing" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:255 +msgid "" +"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" +"layer and IV keys of each step in reverse order." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:265 +msgid "" +"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" +"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 "" +"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" +"replies received), and how they are maintained." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:288 +msgid "" +"Beyond the two types of tunnels - inbound and outbound - there are two " +"styles\n" +"of peer selection used for different tunnels - exploratory and client.\n" +"Exploratory tunnels are used for both network database maintenance and " +"tunnel\n" +"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 "" +"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" +"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" +"Peer Profiling and Selection page." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:314 +msgid "Client tunnel peer selection" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:316 +msgid "" +"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" +"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" +"Peer Profiling and Selection page." +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" +"predecessor attack\n" +"(2008 update)." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:338 +msgid "" +"To frustrate the predecessor \n" +"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" +"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" +"craft two router hashes far apart to maximize the chance of being at both" +"\n" +"ends of a tunnel.\n" +"Peers are sorted by XOR distance of the\n" +"SHA256 Hash of (the peer's hash concatenated with the random key) from " +"the random key" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:360 +msgid "" +"Because each tunnel pool uses a different random key, ordering is " +"consistent\n" +"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 "" +"A multi-hop tunnel is built using a single build message which is " +"repeatedly\n" +"decrypted and forwarded. In the terminology of\n" +"Hashing it out in Public,\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" +"designed to reduce the number of\n" +"predecessors exposed, cuts the number of messages transmitted, verifies " +"proper\n" +"connectivity, and avoids the message counting attack of traditional " +"telescopic\n" +"tunnel creation.\n" +"(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" +"the \"Hashing it out\" paper.)" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:387 +#, python-format +msgid "" +"The details of tunnel request and response messages, and their " +"encryption,\n" +"are specified here." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:392 +msgid "" +"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" +"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" +"Peer Profiling and Selection page." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:407 +msgid "Tunnel Pools" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:409 +#, python-format +msgid "" +"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" +"In addition, there is a pair of pools for each local destination -\n" +"one inbound and one outbound tunnel pool. Those pools use the " +"configuration specified\n" +"when the local destination connects to the router via I2CP, or the router's defaults if\n" +"not specified." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:421 +#, python-format +msgid "" +"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" +"how long the tunnels should be, whether those\n" +"lengths should be randomized, as \n" +"well as any of the other settings allowed when configuring individual " +"tunnels.\n" +"Configuration options are specified on the I2CP " +"page." +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 "" +"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" +"network conditions.\n" +"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" +"without building an excess of tunnels, building them too soon,\n" +"or consuming too much CPU or bandwidth creating and sending the encrypted" +" build messages." +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" +"Using these statistics, it calculates how long before a tunnel's " +"expiration\n" +"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 "" +"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" +"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" +"For all participating routers (internal participant, inbound gateway, and" +" outbound endpoint),\n" +"the router will start randomly dropping a portion of messages as the\n" +"bandwidth limits are approached.\n" +"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" +"Larger messages are more likely to be dropped.\n" +"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" +"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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:515 +msgid "Padding" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/implementation.html:516 +msgid "" +"The padding strategies can be used on a variety of levels, addressing the" +"\n" +"exposure of message size information to different adversaries.\n" +"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" +"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 here for the current implementation" +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7 +msgid "" +"This page describes the origins and design of I2P's unidirectional " +"tunnels.\n" +"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" +"attacker who has only timing and traffic volume data to infer the path a" +" \n" +"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" +"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." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55 +msgid "" +"The strategy of using two separate tunnels for inbound and outbound\n" +"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" +"an HTTP GET, while the peers in an inbound tunnel would see the payload \n" +"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" +"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 paper by Hermann and Grothoff\n" +"declared that I2P's unidirectional tunnels \"seems to be a bad design " +"decision\"." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80 +msgid "" +"The paper's main point is that\n" +"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" +"with long-living eepsites." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88 +msgid "" +"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" +"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" +"example, somebody could make a list of possible IPs then issue subpoenas " +"to \n" +"each. Or the attacker could DDoS each in turn and via a simple \n" +"intersection attack see if the eepsite goes down or is slowed down. So " +"close \n" +"may be good enough, or time may be more important." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104 +msgid "" +"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" +"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" +"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" +"done that analysis, if it's even possible to do it\n" +"effectively." +msgstr "" + +#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120 +msgid "" +"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" +"choice, or just that it needs more study? Timing attacks and \n" +"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" +"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" +"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" +"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 €/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 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:59 +msgid "Donate 30 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:71 +msgid "Donate 50 €/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 "" +"As of December 2010, eche|on has been running a Bitcoin 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" +"%(account)s and leave eche|on a note if you'd like your donation " +"to be mentioned on the I2P webpage." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:95 +msgid "" +"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" +"as the envelope can be lost on the way to us." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:99 +#, python-format +msgid "" +"If you'd like to donate via snail mail, send an email to %(email)s\n" +" and you'll receive an email with instructions detailing how to proceed." +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:104 +#, python-format +msgid "" +"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 hall of fame." +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" +"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or " +"irc.postman.i2p)." +msgstr "" + +#: i2p2www/pages/site/get-involved/index.html:9 +#, python-format +msgid "" +"If you're interested in joining our team, please" +" get in\n" +"touch as we're always looking for eager contributors!" +msgstr "" + +#: i2p2www/pages/site/get-involved/index.html:13 +msgid "" +"We need help in many areas, and you don't need to know Java to " +"contribute!\n" +"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 monotone\n" +"and report results on #i2p or as bugs on Trac." +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 applications page." +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 Trac\n" +"or the TODO list on %(zzz)s for\n" +"some ideas on where to start.\n" +"See the new developer's guide 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 new translator's guide 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" +"threat models,\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 restricted routes" +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 "" +"Reduce memory usage, remove debugging overhead, make it run better on " +"slow and embedded machines" +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 TODO 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 "" +"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 the roadmap. Want to " +"help?\n" +"Get involved!" +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 "" +"Per-hop tunnel id & new permuted TunnelVerificationStructure " +"encryption" +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 & go mix w/ garlics & 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 "" +"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" +"two ways:" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:73 +msgid "" +"Peers who have reachable interfaces - these peers do not need to \n" +"do anything special" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:77 +msgid "" +"Peers who do not have reachable interfaces - 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" +"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" +"build a tunnel through them, and publish a reference to those tunnels " +"within \n" +"their RouterInfo structure in the network database." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:90 +msgid "" +"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" +"can connect directly (e.g. the peer has a publicly reachable interface) \n" +"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" +"tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:98 +msgid "" +"When a router just wants to get a message or two to a specific hidden " +"peer, \n" +"they can just use the indirect tunnel for sending the payload. However, \n" +"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" +"be sent to the originating router. That hidden peer then establishes an \n" +"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" +"connection." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:109 +msgid "" +"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" +"peer's inbound tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:115 +msgid "" +"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" +"described below." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:121 +msgid "" +"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" +"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" +"calls, and to keep a blocked socket from hanging the entire system, those" +" \n" +"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" +"have one thread reading and one thread writing. The reader thread simply" +" \n" +"loops a bunch of read() calls, building I2NP messages and adding them \n" +"to our internal inbound message queue, and the writer thread pulls " +"messages \n" +"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" +"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" +"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" +"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" +"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 elsewhere" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:165 +msgid "" +"Sending and receiving UDP datagrams is a connectionless operation - if \n" +"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" +"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 "" +"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" +"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" +"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" +"an order of magnitude in size. With UDP, we can optimize the transport \n" +"for both efficiency and resilience by taking into account I2P's " +"particular \n" +"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 "" +"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java" +" \n" +"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" +"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 Kaffe, \n" +"as GNU/Classpath has only " +"limited \n" +"support for NIO. (note: this may not be the case anymore, as there \n" +"has been some progress on Classpath's NIO, but it is an unknown " +"quantity)" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:206 +#, python-format +msgid "" +"Another alternative along the same lines is the Non" +" \n" +"Blocking I/O 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 "" +"Within the current network database and profile management " +"implementation, \n" +"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" +"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" +"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" +"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" +"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 "" +"That said, as the network grows we are going to want to keep these " +"considerations \n" +"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 "" +"Addressed in I2P 0.5 as documented elsewhere" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:251 +msgid "" +"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n" +"going to Dave, then to Charlie, then Bob, and finally Alice " +"(A<--B<--C<--D<--E), \n" +"all five of them will know they are participating in tunnel \"123\", as \n" +"the messages are tagged as such. What we want to do is give each hop " +"their \n" +"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 "" +"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" +"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" +"and on the verification structure (used to prevent simple tagging " +"attacks). \n" +"This requires some simple modifications to the TunnelMessage, as well \n" +"as the inclusion of per-hop secret keys delivered during tunnel creation" +" \n" +"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" +"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" +"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" +"the entry associated with their own hop (keyed by the per-hop tunnel ID)" +" \n" +"and verifying the payload by checking it against the associated signed \n" +"hash." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:282 +msgid "" +"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" +"in the same tunnel. In addition, neighboring peers know that they are \n" +"in the same tunnel anyway, as they know who they send the message to (and" +" \n" +"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 proposed to deal with the\n" +"predecessor attack (2008\n" +"update), 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" +"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" +"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 "" +"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" +"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 "" +"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" +"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n" +"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" +"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 "" +"The restricted route functionality described before was simply a " +"functional \n" +"issue - how to let peers who would not otherwise be able to communicate \n" +"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" +"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" +"garlic routing technique outlined before) - they can simply take the " +"garlic \n" +"clove that has a request for delivery to a particular peer and tunnel \n" +"route that message out one of the hidden peer's trusted links with " +"instructions \n" +"to forward it as requested." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:379 +#, python-format +msgid "" +"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 Sybil \n" +"attack. Traditional techniques such as having a peer see who is " +"requesting \n" +"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 "" +"Hashcash is one technique that \n" +"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" +"creating a new destination (done only once when creating a service), or \n" +"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" +"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" +"requests for resources \"nonfree\", and further research on that front is" +" \n" +"appropriate." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:408 +#, python-format +msgid "" +"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" +"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" +"and injecting dummy messages (indistinguishable from other \"real\" " +"tunnel \n" +"messages by peers in the path). There has been a significant amount of \n" +"research \n" +"on these algorithms that we can lean on prior to implementing the various" +" \n" +"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" +"amount of data they can route for the network, and to keep any particular" +" \n" +"tunnel from consuming an unreasonable portion of that bandwidth, they \n" +"will want to include some throttles on the tunnel. For instance, a tunnel" +" \n" +"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" +"this sort of throttling, peers can provide ATM-like QoS support for their" +" \n" +"tunnels, refusing to agree to allocate more bandwidth than the peer has \n" +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:434 +msgid "" +"In addition, we may want to implement code to dynamically reroute tunnels" +" \n" +"to avoid failed peers or to inject additional hops into the path. This \n" +"can be done by garlic routing a message to any particular peer in a " +"tunnel \n" +"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" +"capabilities for protecting against powerful attackers, such as allowing" +" \n" +"each step in a garlic routed path to define a delay or window in which \n" +"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" +"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" +"Performance 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 +#: i2p2www/pages/site/get-involved/bounties/index.html:112 +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 +msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada." +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" +"It should integrate with other client via the I2P network and via " +"gateways to\n" +"the existant bitcoin network." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15 +msgid "Judge is psychonaut who donated the first 30 € 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" +"with which files/messages are stored into database and got from database." +"\n" +"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" +"out eepsites out of the I2P datastorage. All files for eepsites need to " +"be\n" +"saved inside of datastorage and are taken from it.\n" +"Extension:\n" +"For better integration all datastorage participants could serve that " +"eepsite." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:36 +msgid "" +"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" +"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" +"to I2P, this bounty was set for including an I2P package into the Ubuntu " +"and Debian \n" +"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" +"448638 \n" +"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" +"forward. As with any open source project, our goals would be achieved " +"more \n" +"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" +"implemented, and people who want to contribute to I2P can be assured that" +" \n" +"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" +"but don't have strong feelings about the bounties available. Those " +"people\n" +"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" +"necessary - allocated to various bounties, covering incidentals (hosting," +" \n" +"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 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Name" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Status" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +msgid "Judge" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:30 +#: i2p2www/pages/site/get-involved/bounties/index.html:92 +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:68 +#: i2p2www/pages/site/get-involved/bounties/index.html:82 +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 "" + +#: 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 "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:89 +msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:94 +msgid "Bundling bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:95 +msgid "Proposed" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:102 +msgid "Claimed bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:105 +msgid "Dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:107 +msgid "Setting up a SILC server" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:117 +msgid "Datastore over I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:127 +msgid "Swarming file transfer" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:132 +msgid "Streaming library window size" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:137 +msgid "IRC connect time monitor" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:142 +msgid "Unit tests (part 1)" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:154 +msgid "" +"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" +"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 "" +"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" +"free to distribute)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2 +msgid "Bounty russian translation of webpage and router console" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + +#: 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 "" +"For collecting the bounty of $115 USD you need to translate the following" +" pages:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30 +msgid "" +"Part 2 is the translation of the router console. The whole router console" +" needs\n" +"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" +"This will allow people to send files over their messaging servers and " +"have intrinsic security built into the protocol." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:12 +msgid "" +"A silc server needs to be set up and run for at least 3 month time to get" +" payed. \n" +"A second server should be set up, to." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:16 +msgid "" +"Bounty was withdrawn and money donated to returningnovice and general " +"fund." +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 "" +"For our bad sake the syndie project is out of development for \n" +"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" +"Current bounty sum is 100 Bitcoin." +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 €" +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.
    \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" +"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g." +" \n" +"Clover). 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" +"Configuration should be friendly to starters and made easy to be " +"anonymous.\n" +"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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:4 +msgid "Application Development Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:8 +#: i2p2www/pages/site/get-involved/develop/applications.html:14 +msgid "Why write I2P-specific code?" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:9 +#: i2p2www/pages/site/get-involved/develop/applications.html:94 +msgid "Important concepts" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:10 +#: i2p2www/pages/site/get-involved/develop/applications.html:170 +msgid "Development options" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:11 +#: i2p2www/pages/site/get-involved/develop/applications.html:276 +msgid "Start developing - a simple guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:16 +#, python-format +msgid "" +"There are multiple ways to use applications in I2P.\n" +"Using I2PTunnel,\n" +"you can use regular applications without needing to program explicit I2P " +"support.\n" +"This is very effective for client-server scenario's,\n" +"where you need to connect to a single website.\n" +"You can simply create a tunnel using I2PTunnel to connect to that " +"website, as shown in Figure 1." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:24 +msgid "" +"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" +"as shown in Figure 2.\n" +"This process can of course be automated, but running a lot of I2PTunnel " +"instances creates a large amount of overhead.\n" +"In addition, with many protocols you will need to force everyone to \n" +"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" +"(host and port)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:35 +msgid "" +"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" +"can avoid compromising user identities." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:41 +msgid "" +"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 32KB. 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" +"fragmentation of messages under 32KB." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:55 +#: i2p2www/pages/site/get-involved/develop/applications.html:57 +msgid "" +"Creating a server-client connection using I2PTunnel only requires " +"creating a single tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:57 +msgid "Figure 1:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:62 +#: i2p2www/pages/site/get-involved/develop/applications.html:64 +msgid "" +"Setting up connections for a peer-to-peer applications requires a very " +"large amount of tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:64 +msgid "Figure 2:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:68 +msgid "In summary, a number of reasons to write I2P-specific code:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:72 +msgid "" +"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)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:76 +msgid "" +"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" +"that does not leak such information, keeping users anonymous and secure." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:81 +msgid "" +"Network protocols designed for use on the regular internet can be " +"inefficient\n" +"on I2P, which is a network with a much higher latency." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:88 +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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:96 +msgid "There are a few changes that require adjusting to when using I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:100 +msgid "Destination ~= host+port" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:102 +msgid "" +"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" +"plus port number pair, though there are a few differences." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:110 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:115 +msgid "" +"I2P destinations are mobile identifiers - they can be moved from one I2P " +"router\n" +"to another (or with some special software, it can even operate on " +"multiple routers at\n" +"once). This is quite different from the TCP or UDP world where a single " +"end point (port)\n" +"must stay on a single host." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:122 +msgid "" +"I2P destinations are ugly and large - behind the scenes, they contain a " +"2048bit ElGamal\n" +"public key for encryption, a 1024bit DSA public key for signing, and a " +"variable size \n" +"certificate, which may contain proof of work or blinded data." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:127 +#, python-format +msgid "" +"There are existing ways to refer to these large and ugly destinations by " +"short\n" +"and pretty names (e.g. \"irc.duck.i2p\"), but at the moment those " +"techniques do not guarantee\n" +"globally uniqueness (since they're stored locally at each person's " +"machine as \"hosts.txt\")\n" +"and the current mechanism is not especially scalable nor secure (updates " +"to one host file are\n" +"manually managed within Monotone, and as such, anyone with commit rights " +"on the repository can\n" +"change the destinations). There may be some secure, human readable, " +"scalable, and globally \n" +"unique, naming system some day, but applications shouldn't depend upon it" +" being in place,\n" +"since there are those who don't think such a beast is possible.\n" +"Further information on the naming system is " +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:141 +msgid "Anonymity and confidentiality" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:143 +msgid "" +"A useful thing to remember is that I2P has transparent end to end " +"encryption\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:150 +msgid "" +"Of course, another useful thing to remember is that I2P transparently " +"anonymizes the\n" +"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" +"to expose." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:159 +msgid "I2P datagrams can be up to 32KB" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:161 +msgid "" +"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 32KB datagrams\n" +"(31KB when using the repliable kind). For many applications, 32KB of " +"data is sufficient for an\n" +"entire request or response, allowing them to transparently operate in I2P" +" as a UDP-like \n" +"application without having to write fragmentation, resends, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:172 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:177 +msgid "Streaming Lib" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:178 +#, python-format +msgid "" +"The full streaming library is now the " +"standard\n" +"interface. It allows programming using TCP-like sockets, as explained in " +"the Streaming development guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:184 +#, python-format +msgid "" +"BOB is the Basic Open Bridge,\n" +"allowing an application in any language to make streaming connections \n" +"to and from I2P. At this point in time it lacks UDP support, but UDP " +"support\n" +"is planned in the near future. BOB also contains several tools, such as \n" +"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" +"found at this eepsite." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:197 +msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is beta." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:198 +#, python-format +msgid "" +"SAM is the Simple Anonymous Messaging 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" +"and event based handling. SAM supports three styles of operation:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:205 +msgid "" +"streams, for when Alice and Bob want to send data to each other reliably " +"and in order" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:208 +msgid "" +"repliable datagrams, for when Alice wants to send Bob a message that Bob " +"can reply to" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:211 +msgid "" +"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" +"is self authenticating)" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:217 +msgid "" +"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n" +"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" +"communications with the SAM bridge." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:224 +#, python-format +msgid "" +"SAM V2 is a new version used by imule\n" +"that fixes some of the problems in SAM.\n" +"
    \n" +"SAM V3 is used by imule since version 1.4.0." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:232 +msgid "" +"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" +" 8bit 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" +"their own unique I2P destination and their own set of tunnels, keys, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:244 +#: i2p2www/pages/site/get-involved/develop/applications.html:251 +#: i2p2www/pages/site/get-involved/develop/applications.html:262 +msgid "Not recommended" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:245 +msgid "" +"It was possible to write I2P applications in Java using the ministreaming" +" library.\n" +"However, the Streaming library has superceded this, and provides better " +"functionality." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:252 +#, python-format +msgid "" +"The Datagram library allows sending UDP-" +"like packets.\n" +"It's possible to use:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:257 +msgid "Repliable datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:258 +msgid "Raw datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:263 +#, python-format +msgid "" +"I2CP 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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:270 +msgid "Web Applications" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:271 +msgid "" +"I2P comes with the Jetty webserver, and configuring to use the Apache " +"server instead is straightforward.\n" +"Any standard web app technology should work." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:277 +msgid "" +"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 streaming library or datagram library.\n" +"Using another programming language, SAM or BOB can be used." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:283 +msgid "Developing with the streaming library" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:285 +msgid "" +"Development using the streaming library requires the following libraries " +"in your classpath:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:289 +msgid "the streaming library itself." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:290 +msgid "the ministreaming library is used as the base for the streaming library." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:291 +msgid "" +"some standard I2P classes (like the Destination class) are very " +"convenient when developing." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:294 +msgid "" +"Network communication requires the usage of I2P network sockets.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:299 +msgid "" +"We will start by initializing the server application. This requires " +"getting an I2PSocketManager\n" +"and creating an I2PServerSocket.\n" +"In addition, we will ask the I2PSocketManager for an I2PSession, so we " +"can find out the Destination we use." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:327 +msgid "Code example 1: initializing the server application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:329 +msgid "" +"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" +"A real server would have to be able to handle multiple clients.\n" +"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" +"The bold code is the new code we add." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:415 +msgid "Code example 2: accepting connections from clients and handling messages." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:419 +msgid "" +"When you run the above server code, it should print something like this " +"(but without the line endings, it should just be\n" +"one huge block of characters):" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:433 +msgid "" +"This is the base64-representation of the server Destination. The client " +"will need this string to reach the server." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:437 +msgid "" +"Now, we will create the client application. Again, a number of steps are " +"required for initialization.\n" +"Again, we will need to start by getting an I2PSocketManager.\n" +"We won't use an I2PSession and an I2PServerSocket this time.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:519 +msgid "" +"Code example 3: starting the client and connecting it to the server " +"application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:521 +msgid "" +"Finally, you can run both the server and the client application.\n" +"First, start the server application. It will print a Destination string " +"(like shown above).\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." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:527 +msgid "Congratulations, you have successfully communicated over I2P!" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:531 +msgid "Existing Applications in Development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:532 +msgid "Contact us if you would like to help." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:549 +msgid "Application Ideas" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:551 +msgid "NNTP server - there have been some in the past, none at the moment" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:554 +msgid "" +"Jabber server - there have been some in the past, and there is one at the" +" moment, with access to the public internet" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:557 +msgid "PGP Key server and/or proxy" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:560 +msgid "" +"Download manager / eepget scheduler -\n" +"We use eepget to fetch lots of things reliably over i2p, and there's " +"already an\n" +"implementation of a sequential download manager " +"(net.i2p.util.EepGetScheduler),\n" +"but there isn't any sort of user interface to it. A web based UI would " +"be\n" +"great." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:567 +#, python-format +msgid "" +"Content Distribution / DHT applications - help out with feedspace,\n" +"port dijjer, look for alternatives" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:571 +msgid "Help out with Syndie development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:574 +msgid "" +"Web-based applications - The sky is the limit for hosting web-server-" +"based\n" +"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 "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:579 +msgid "" +"Resurrect some old apps - in the i2p source package -\n" +"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping" +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 "" +"Commit Keys to sign changes checked-in to the " +"respository; and" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:10 +msgid "" +"Transport Keys to push changes to remote " +"servers." +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" +"import the\n" +"developer commit keys, but only Monotone \n" +"server operators will need to import the transport keys." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:20 +msgid "Developer Commit keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:232 +msgid "Developer Transport Keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:233 +#, python-format +msgid "" +"Note: Transport keys are only needed for setting up a\n" +"Monotone server." +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 the licenses page." +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" +"threat model (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 "" +"use with no restrictions on how, when, where, why, or by whom is running " +"it" +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 "" +"Most of the software guarantees much more - the ability of anyone " +"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" +"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 "" +"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." +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" +"GPL'ed code included within\n" +"I2PTunnel and other apps must be released under the GPL with an " +"additional \"exception\"\n" +"explicitly authorizing the use of Java's standard libraries:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:288 +msgid "" +"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" +"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 Monotone Page 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" +"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:" +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 "" +"If specified in the source, the code may be explicitly licensed under one" +"\n" +"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 "" +"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" +"information.\n" +"See developers' license agreements." +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 "" +"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public " +"key is:" +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 "" +"Keys for zzz, Complication and welterde are provided clearsigned. The key" +" for jrandom must be\n" +"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 "" +"Tip: 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" +"76BA A76E 0BED`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49 +msgid "" +"Tip: 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" +"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81 +msgid "" +"Tip: 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" +"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116 +msgid "" +"Tip: To find jrandom's GPG key for Syndie releases, on public " +"keyservers locate\n" +"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" +"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" +"below." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130 +msgid "" +"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" +"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" +"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-" +"committers.sig\n" +"--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 signed license agreement." +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 new developers guide 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 "" +"Most of the following should be common sense for anybody who has worked " +"on open source or in a commercial\n" +"programming envrionment.\n" +"The following applies mostly to the main development branch i2p.i2p.\n" +"Guidelines for other branches, plugins, and external apps may be " +"substantially different;\n" +"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 "" +"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" +"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 "" +"Have a basic understanding of distributed source control systems, even if" +" you haven't\n" +"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" +"In case you do (it happens), please do not vanish for a long period after" +"\n" +"you push your change." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51 +msgid "" +"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" +"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" +"but in our experience, in-workspace merge works just as well as in-" +"database merge,\n" +"without creating a merge revision." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68 +msgid "" +"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" +"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 "" +"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" +"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 "" +"New classes and methods require at least brief javadocs. Add @since " +"release-number." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87 +msgid "" +"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" +"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" +"If you add or change the API, also update the documentation on the " +"website (i2p.www branch)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95 +msgid "" +"Tag strings for translation where appropriate.\n" +"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" +"translators have a chance to update before the release." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101 +msgid "" +"Use generics and concurrent classes where possible. I2P is a highly " +"multi-threaded application." +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" +"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." +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 "" +"The main I2P development branch (i2p.i2p) has been set up to" +" enable developers to easily set up two of the commonly-used IDEs for " +"Java development: Eclipse and NetBeans." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:10 +msgid "" +"The main I2P development branches (i2p.i2p and branches from" +" it) contain .project and .classpath Eclipse files, to enable the branch " +"to be easily set up in Eclipse." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:16 +msgid "" +"Check out the I2P branch into some directory (e.g. " +"$HOME/dev/i2p.i2p)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:20 +msgid "" +"Open Eclipse and create a new Workspace, based in the directory that the " +"I2P branch was checked out to." +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 "" +"For \"Select root directory:\" choose the directory that the I2P branch " +"was checked out to." +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 "" +"Done! Your workspace should now contain all projects within the I2P " +"branch, and their build dependencies should be correctly set up." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:48 +msgid "" +"The main I2P development branches (i2p.i2p and branches from" +" it) contain NetBeans project files." +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 i2p.i2p, i2p.www and " +"i2p.syndie 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 "" +"This is a revised version of Complication's original\n" +" guide detailing the use of Monotone in I2P development.\n" +" For basic instructions see the quick-start " +"guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:42 +#, python-format +msgid "" +"I2P has a distributed development model. The source code is replicated " +"across\n" +" independently administered Monotone (\"MTN\") repositories.\n" +" Developers with commit rights are able to push their changes to the " +"repository\n" +" (a license agreement needs to be " +"signed\n" +" 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" +" version control, cryptographic authentication, access control, its " +"small size, having few\n" +" dependencies, storage of projects in a compressed SQLite database file," +" and\n" +" 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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:74 +msgid "" +"Without a transport key, one cannot:\n" +"
      \n" +"
    • pull code from a server which doesn't allow global read " +"access
    • \n" +"
    • push code to any server
    • \n" +"
    • run a Monotone server
    • \n" +"
    " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:85 +msgid "" +"Without a commit key, one cannot:\n" +"
      \n" +"
    • commit any code
    • \n" +"
    " +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" +" next section. " +"If you want\n" +" to generate keys, read the following." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:102 +msgid "" +"By convention keys are named like an e-mail addresses, but a " +"corresponding e-mail\n" +" address does not need to exist. For example, your keys might be named:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:113 +msgid "" +"Monotone stores keys under $HOME/.monotone/keys in " +"text files which\n" +" 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 "" +"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" +" 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 "" +"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" +" not replace reading diffs." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:155 +msgid "" +"A Monotone repository is a single file (a compressed SQLite database) " +"which contains all of the project's source code and history." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:161 +msgid "" +"After importing the " +"developers' keys into Monotone and\n" +" setting up trust " +"evaluation hooks,\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" +" needed due to the push access policies in place." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:171 +msgid "" +"A repository can hold many branches. For example, our repository holds " +"the\n" +" 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 "" +"By convention, the I2P Monotone repository is named i2p.mtn." +" 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" +" i2p.mtn file and branch directories to be stored and issue" +" the following\n" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:199 +msgid "" +"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" +" " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:206 +#, python-format +msgid "" +"Developers' commit keys are provided GPG-signed on another page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:212 +#, python-format +msgid "" +"To import developers' keys after verifying their authenticity, copy all of the keys into a new\n" +" file. Create this file (e.g. keys.txt) in the same " +"directory where i2p.mtn is located. Import the keys with the" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:222 +msgid "" +"Note: Never add keys to " +"$HOME/.monotone/keys manually." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:230 +msgid "" +"The default Monotone trust policy is way too lax for our requirements: " +"every comitter is trusted by default.\n" +" That is not acceptable for I2P development." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:237 +msgid "" +"Change into the directory $HOME/.monotone and open " +"the file\n" +" monotonerc with a text editor. Copy and paste the " +"following two functions into this file:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:246 +msgid "" +"The first function determines an intersection between two sets, in our " +"case a\n" +" revision's signers and trusted signers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:253 +msgid "" +"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" +" 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 official Monotone " +"documentation." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:271 +msgid "" +"Enter the directory where you initialized i2p.mtn. Depending " +"on whether you\n" +" want only I2P sources, or also sources for the I2P website and Syndie, " +"you can\n" +" perform the pull 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 "" +"If the transfer aborts before completing sucessfully, simply repeating " +"the pull command will resume the transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:300 +msgid "" +"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" +" 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 monotonerc file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:316 +msgid "" +"Modify monotonerc by setting the trusted_signers " +"variable in the following way:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:322 +msgid "" +"With monotonerc configured as above, Monotone will no" +" longer trust any committers. Confirm this by changing into the\n" +"directory where i2p.mtn was created and attempt a checkout " +"of the I2P branch:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:332 +msgid "" +"A directory named i2p.i2p should not appear. You " +"should encounter many\n" +" 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" +" monotonerc that was created above. If you didn't create a " +"backup\n" +" as advised, re-read Setting up trust evaluation hools." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:360 +msgid "" +"If you already have a branch checked out, skip to the next\n" +" section." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:367 +msgid "" +"Change into the directory where i2p.mtn is located. Over " +"there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:376 +msgid "" +"The checkout should complete without error messages and a directory named" +"\n" +" i2p.i2p should appear in the current directory. " +"Congratulations! You have\n" +" successfully checked out the latest I2P sources, ready to be compiled." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:387 +msgid "" +"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" +" i2p.mtn is located and issue:\n" +"
      \n" +"
    • $ mtn --db=\"i2p.mtn\" -k \"\" pull 127.0.0.1:8998 " +"i2p.i2p
    • \n" +"
    " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:398 +msgid "Now change into your i2p.i2p directory, and over there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:407 +msgid "" +"As long as there were no errors…Congratulations! You have " +"successfully updated to the latest I2P sources. They\n" +" 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 "" +"No one will not be able to push code to your server without permission " +"being explicitly granted. To grant push access:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:451 +msgid "" +"Add the name of the user's transport key to\n" +"$HOME/.monotone/write-permissions, such as\n" +"
    \n"
    +"    zzz-transport@mail.i2p\n"
    +"    complication-transport@mail.i2p\n"
    +"
    \n" +"with one key per line." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:462 +msgid "" +"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 Obtaining and deploying " +"developers' keys." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:472 +msgid "" +"A separate database should be used for your Monotone server because " +"monotone will lock the database while it is served to others.\n" +" Make a copy of your development database, then start the server with:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:479 +msgid "" +"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" +" (or by clearing the password for your transport key)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:487 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:497 +msgid "" +"Debian (amongst other distributions) has integrated Monotone into their\n" +" 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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:505 +msgid "" +"Permissions are granted by editing the files\n" +" /etc/monotone/read-permissions and\n" +" /etc/monotone/write-permissions. You'll also need to edit\n" +" /etc/default/monotone to enable monotone to start at boot " +"or to\n" +" 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" +"on contributing to the website or the software, doing development or " +"creating translations." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:9 +#, python-format +msgid "" +"\n" +"Not quite ready for coding?\n" +"Try getting involved 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 "" +"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 Thinking in Java." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:33 +#, python-format +msgid "" +"Study the how intro,\n" +"the other \"how\" documents,\n" +"the tech intro,\n" +"and associated documents.\n" +"These will give you a good overview of how I2P is structured and what " +"different things it does." +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 monotone.\n" +"Monotone is a version control system.\n" +"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)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:53 +msgid "" +"Skim over the monotone tutorial," +" to make sure you understand the concepts." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:57 +msgid "" +"If you want to remain anonymous, you need to do an additional step, to " +"set up a connection to a monotone server over I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:60 +#, python-format +msgid "" +"Enable the i2ptunnel 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 "" +"Define the trust list by creating ~/.monotone/monotonerc (or" +" _MTN/monotonerc in the i2p.i2p workspace) with the " +"following contents:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:72 +#, python-format +msgid "" +"Copy and paste the developer's commit keys " +"into a new file (e.g. keys.txt) in the same directory\n" +" that i2p.mtn is in. Import the keys into your database " +"with
          mtn -d i2p.mtn read < keys.txt
    " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:76 +msgid "" +"Pull the I2P sources to your machine. This may take a long time, " +"especially if you are doing this over I2P!" +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 "" +"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn" +".i2p-projekt.de." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:90 +msgid "" +"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:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:92 +msgid "" +"The above command creates a directory i2p.i2p, which contains all of the " +"I2P sources." +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" +"To download the website files instead of the I2P source files, use " +"'i2p.www' instead of 'i2p.i2p'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:100 +msgid "" +"The initial pull may take several hours using the tunnel.\n" +"If it fails after a partial pull, simply rerun it, it will start where it" +" left off.\n" +"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 "" +"A full list of branches, including i2p.i2p and i2p.www can be found on viewmtn." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:108 +#, python-format +msgid "" +"A long explanation about using monotone is available on the monotone page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:114 +#, python-format +msgid "" +"To compile the code, you need the Sun Java Development Kit 6 or higher, " +"or equivalent JDK\n" +"(Sun JDK 6 strongly recommended) and\n" +"Apache ant\n" +"version 1.7.0 or higher.\n" +"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." +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" +"GNU gettext package." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:128 +#, python-format +msgid "" +"For development on new applications,\n" +"see the application development guide." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:134 +#, python-format +msgid "" +"See zzz's TODO lists,\n" +"this website's TODO list or\n" +"Trac\n" +"for ideas." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:143 +#, python-format +msgid "" +"See the bottom of the licenses page " +"for\n" +"commit privilege requirements. You need these to put code into i2p.i2p " +"(not required for the website!)." +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 "" +"send 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 release manager 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 monotone page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:163 +#, python-format +msgid "" +"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 additional guidelines for regular" +" developers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:169 +#, python-format +msgid "" +"Website and router console translators: See the New Translator's Guide\n" +"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" +"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" +"are interested in profiling the I2P codebase." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:183 +#, python-format +msgid "" +"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" +"YourKit Java Profiler and\n" +"YourKit .NET Profiler." +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 "" +"Translation of the website is done with .po files. The easiest way by far" +" to\n" +"translate the website is to sign up for an account at \n" +"Transifex and request to join a translation" +" team. \n" +"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" +"To make sure other coworkers don't bump onto the files you are working " +"on,\n" +"please update the translation status on this wiki " +"page." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:25 +#, python-format +msgid "" +"Follow the new developer's guide,\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 "" +"Create files:\n" +"If the file for your language does not exist yet:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:38 +msgid "" +"Run \"./extract-messages.sh\" to generate a " +"messages.pot in the base directory.\n" +"Edit the header of this file, then run \"./init-new-po.sh " +"locale\" to generate the file\n" +"i2p2www/translations/locale/LC_MESSAGES/messages.po. " +"\"mtn add\" this file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:43 +msgid "" +"Edit i2p2www/pages/global/lang.html and add a line for your " +"language (copy an existing line)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:46 +msgid "" +"Add a flag image file to i2p2www/static/images/flags/ for " +"the menu (copy from the router)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:52 +msgid "" +"Edit files:\n" +"Edit i2p2www/translations/locale/LC_MESSAGES/messages.po.\n" +"To work with .po files efficiently, you may wish to use POEdit" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:58 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:151 +msgid "" +"Check in:\n" +"\"mtn pull\", \"mtn update\". Then check in by " +"\"mtn ci -k yourname@mail.i2p file1 file2 ...\"\n" +"This collects the diff info of your changed file into your local repo. " +"Then \"mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p " +"i2p.i2p\".\n" +"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 "" +"The easiest way by far to translate the router console is to sign up for " +"an account at \n" +"Transifex and request to join a translation" +" team. \n" +"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 new developer's guide,\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 "" +"Before starting a console translation, better help translate some i2p " +"webpages first.\n" +"At least an i2p homepage in your language would be great." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:106 +msgid "" +"What to translate:\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" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:137 +msgid "" +"Create files:\n" +"If the file for your language does not exist yet, copy another language " +"file to a new file foo_xx.bar for your language.\n" +"Then \"mtn add\" the file.\n" +"After creating a .po file, edit the headers. Then run \"ant " +"distclean poupdate\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:144 +msgid "" +"Start to work:\n" +"Edit the HTML files with any text editor.\n" +"Be sure not to use an editor in HTML mode that reformats everything.\n" +"To work with .po files efficiently, you may wish to use POEdit" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:163 +msgid "" +"As you can see, it's not that difficult.\n" +"If you have questions about the meaning of the terms in the console, ask " +"in #i2p-dev on IRC." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:171 +msgid "" +"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?" +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 here." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:182 +msgid "" +"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." +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 " +"tweak it to make it look right before you submit it. Developers " +"will update or add to the English text, thus requiring a translation " +"update." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:190 +msgid "" +"Having translators use a source control system directly provides " +"authentication and accountablility - we know who is doing what, and we " +"can track changes, and revert them if necessary." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:194 +msgid "" +".po files are not difficult. If you don't want to work directly with " +"them, we recommend 'poedit'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:198 +msgid "" +"HTML files are not difficult. Just ignore the html stuff and translate " +"the text." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:202 +msgid "" +"Installing and using monotone is not that difficult. Several of the " +"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\"." +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 " +"files, with a specific format and character encoding (UTF-8) that must be" +" maintained, and not corrupted by email programs or other methods of " +"transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:210 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:215 +msgid "" +"In summary:\n" +"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." +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 translation forum on %(zzz)s." +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" +"Two members of the I2P team will be at two forthcoming Linux day and " +"security convention." +msgstr "" + +#: i2p2www/pages/site/misc/clt.html:9 +#, python-format +msgid "" +"On 14th march of 2009 there will be a short talk about general " +"introduction to I2P at the Chemnitz Linux Tag " +"2009 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!" +msgstr "" + +#: i2p2www/pages/site/misc/clt.html:14 +#, python-format +msgid "" +"Just 10 days later the Privacy and Data Security " +"convention 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." +msgstr "" + +#: i2p2www/pages/site/misc/cvs.html:4 +#, python-format +msgid "" +"The I2P sourcecode was kept in a CVS repository. Nowadays it is kept in a" +" Monotone repository.\n" +"For those who aren't very familiar with CVS, there is a\n" +"fantastic book " +"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" +"touch)." +msgstr "" + +#: i2p2www/pages/site/misc/cvs.html:31 +msgid "" +"Humorous quote from WinCVS: \"Did you know... Never experiment with new " +"CVS\n" +"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 %(url)s" +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: \"eepsite\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-migration.html:22 +msgid "For the description: \"My eepsite, isn't it pretty?\"" +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: path to \"myWebPriv.dat\"
    \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 \"Save\"" +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 "" +"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 i2ptunnel.config 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" +"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 "" +"I recommend the Tiny Httpd web server, thttpd, (windows version available" +" on site) although you can use anything that you feel comfortable with." +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 " +"newbies who have no experience setting up and hosting content over " +"servers, see the hosting page for help." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:19 +msgid "" +"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." +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 http://localhost:10880 (changing the 10880 to the " +"port number you have chosen)." +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 "" +"I2P does not deal in IP addresses. To protect your anonymity, it deals in" +" unique addresses called destination keys." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:38 +msgid "" +"A destination key works a lot like a regular IP address, except that it " +"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)" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:41 +msgid "" +"To deploy a server on I2P, you create a destination keypair. You use the " +"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)" +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: java -jar " +"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat " +"myWebPubKey.dat\" (all on one line)" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:50 +msgid "" +"In windows, to generate your keypair, type the command: java -jar " +"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat " +"myWebPubKey.dat\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:53 +msgid "" +"The filenames myWebPrivKey.dat and " +"myWebPubKey.dat are arbitrary - choose whatever you want " +"here, as long as you understand your own choices." +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 "" +"To convert your myWebPubKey.dat file into shareable base64, type the " +"command java -cp lib/i2p.jar net.i2p.data.Base64 encode " +"myWebPubKey.dat > myWebPubKey.txt (all on one line)." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:62 +msgid "" +"This file you have just generated, myWebPubKey.txt, 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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:65 +msgid "" +"However, in contrast to an IP address, there is no way to trace your " +"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." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:75 +msgid "" +"To activate such a tunnel, type the command java -jar " +"lib/i2ptunnel.jar -nogui -e \"server localhost 10880 " +"myWebPrivKey.dat\" (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: " +"java -jar lib/i2ptunnel.jar -nogui -e \"server localhost 10880 " +"myWebPrivKey.dat\"" +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:84 +msgid "" +"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." +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 " +"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" +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 http://myserver.i2p" +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 "" +"As you grow into I2P and get more of a 'feel' for it, you will want to " +"use all manner of servers and clients." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:120 +msgid "" +"The beauty of I2P is that it allows standard Internet clients and servers" +" for most protocols to be transparently 'tunneled' through the anonymous " +"network." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:123 +msgid "" +"You can run mailservers/clients, nameservers/clients, newsservers/clients" +" - almost anything at all - perhaps even FTP in passive mode." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:126 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:129 +msgid "" +"To open your client tunnel for your server, type the command java " +"-jar lib/i2ptunnel.jar -nogui -e \"config localhost 7654\" -e \"client " +"10888 textofbase64key\" (all one line)." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:132 +msgid "" +"The port 10888 is arbitrary - it just needs to be something other than " +"the physical port your server is listening on." +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 http://localhost:10888" +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 "" +"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." +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 www.mynick.i2p as well as your destination key. " +"Others will then be able to reach your server remotely, without either of" +" you jeopardizing your anonymity." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:157 +msgid "" +"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." +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 "" +"It would drive most people crazy, going through all these steps every " +"time one sets up an I2P server, and/or deploys a client." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:167 +msgid "" +"Aum's website http://www.freenet.org.nz/i2p/ 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 " +"trying to write something which satisfies everyone's needs usually " +"results in something so complex that it turns into newbie-repellent." +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 "" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/i2ptunnel-services.html:176 +msgid "Exercise for Windows users - port setupServer.py into a MS-DOS .BAT file." +msgstr "" + +#: i2p2www/pages/site/misc/invisiblenet.html:2 +msgid "Old Documents" +msgstr "" + +#: i2p2www/pages/site/misc/invisiblenet.html:5 +msgid "" +"Following is a list of documents originally on www.invisiblenet.net/i2p/ " +"and\n" +"rescued via the\n" +"Wayback Machine.\n" +"They are quite dated and may or may not be accurate.\n" +"However, the I2CP and I2NP documents in particular have some good " +"information." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:3 +msgid "August 2011" +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:7 +msgid "" +"Using JNI (Java Native Interface), a bit of C code (thanks ugha!), a " +"little\n" +"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" +"GNU MP Bignum library (libgmp).\n" +"We use a single function from libgmp -\n" +"mpz_powm()\n" +"as a replacement for the\n" +"Java Math library's BigInteger modPow().\n" +"As modPow() is a significant computational portion of many crypto " +"operations, this is of significant benefit." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:25 +#, python-format +msgid "" +"The standard I2P installation includes about 20 versions of the library " +"for different platforms,\n" +"each about 50KB, inside the jbigi.jar file.\n" +"The initialization of the JBigI library, including CPU identification, " +"selection, and extraction\n" +"of the correct loadable module, is handled by the\n" +"NativeBigInteger class.\n" +"If no module is available for the current platform, the standard\n" +"Java Math library's BigInteger modPow()\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 "" +"Following are the instructions to build a new jbigi library for your own " +"platform\n" +"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" +"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" +"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 "" +"The required code is available in monotone database and the latest source" +" tarball. " +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:51 +msgid "" +"The GNU MP Bignum library (libgmp) needs to be installed, if it isn't\n" +"included in your OS / distribution or installed already, it can be " +"received from\n" +"http://gmplib.org/#DOWNLOAD. " +"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" +"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 "" +"Look at your running " +"environment on the logs.jsp page.\n" +"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 "" +"Look on http://localhost:7657/stats.jsp" +"\n" +"to see what the lifetime average values for " +"crypto.elGamal.decrypt and\n" +"crypto.elGamal.encrypt are. The numbers are times in " +"milliseconds. Copy these somewhere so you can compare\n" +"them later on.\n" +"The network average for encrypt time is about 20ms.\n" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:87 +#, python-format +msgid "" +"Get the latest released source code of I2P from\n" +"the download page, or get the cutting-edge " +"source\n" +"out of the monotone database mtn.i2p2.de" +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:92 +msgid "Inside the source tree change directory to: core/c/jbigi" +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" +"from http://gmplib.org/#DOWNLOAD, " +"saving it to gmp-5.0.2.tar.bz2.\n" +"If you decide to use a newer version, change the VER= line in " +"core/c/jbigi/build.sh." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:101 +msgid "" +"Take a look at build.sh, if your JAVA_HOME\n" +"environment variable is set and you are using Linux then it might just " +"work.\n" +"Otherwise change the settings. Remember, you need the Java SDK installed." +msgstr "" + +#: i2p2www/pages/site/misc/jbigi.html:106 +msgid "" +"Run build.sh (if you downloaded GMP) or\n" +"build.sh dynamic (if you have /usr/lib/libgmp.so).
    \n" +"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" +"or fix $JAVA_HOME.
    \n" +"You can run the build.sh from the core/c/ " +"directory which will\n" +"build all available jbigi libs into a jbigi.jar.
    \n" +"A file named libjbigi.so should be created in the current\n" +"directory. If this doesn't happen and/or you get errors then please " +"report\n" +"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 libjbigi.so 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 "" +"On http://localhost:7657/stats.jsp" +"\n" +"the crypto.elGamal.decrypt and " +"crypto.elGamal.encrypt\n" +"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 "" +"The following message was received in mid-November 2007. We have no " +"further information\n" +"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" +"on January 13, 2008, and the i2p.net servers did not fully return to " +"service.\n" +"As only jrandom has the credentials required to restore service,\n" +"and he could not be contacted,\n" +"we moved all public services to www.i2p2.de\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 %(forum)s." +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 "" +"The installation package for the I2P router" +" comes\n" +"with a Java wrapper for the most common architectures. If your system is " +"not\n" +"supported by our installer—or if you want to update the wrapper to " +"a\n" +"newer version—the following steps describe installing the wrapper " +"manually." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:14 +msgid "" +"Check Tanuki Software's download" +" page\n" +"for your platform. Is your platform listed? If so, you're in\n" +"luck! Download the most recent version of the Community Edition for your " +"OS and\n" +"CPU and move to the next step." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:20 +msgid "" +"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" +"on to compiling 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 +msgid "In the steps below, $I2P means the location I2P was installed to." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:36 +#: i2p2www/pages/site/misc/manual-wrapper.html:64 +msgid "Try to start I2P using $I2P/i2prouter start" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:37 +#: i2p2www/pages/site/misc/manual-wrapper.html:65 +msgid "tail -f /tmp/wrapper.log and look for any problems." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:39 +#: i2p2www/pages/site/misc/manual-wrapper.html:67 +msgid "" +"If this did not work you'll need to use runplain.sh to start" +" I2P." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:43 +msgid "Compiling from source" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:44 +msgid "" +"These steps worked to compile the wrapper for use on a mipsel system " +"running Debian. The steps will need to be altered for " +"your system." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:48 +msgid "" +"Download the source archive for the community version of the wrapper from" +" wrapper download" +" page." +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:49 +msgid "Extract the tarball" +msgstr "" + +#: i2p2www/pages/site/misc/manual-wrapper.html:51 +msgid "" +"Set environment variables ANT_HOME and " +"JAVA_HOME. For example, in Debian:" +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 ./build64.sh 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 "" +"An optimized form, designed to handle only 128KB [1] files and pages, can" +"\n" +"operate significantly faster:" +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:71 +msgid "" +"The difference in network load and latency is significant - this is\n" +"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" +"messages - rather than the earlier wrap/unwrap request (that bundles a\n" +"DataMessage with a DeliveryStatusMessage to provide guaranteed delivery)," +" the\n" +"MinWWW proxy deals with resends (if necessary - in I2PTunnel today, there" +" are no\n" +"resends)." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:83 +msgid "" +"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" +"response, and sends a reply to the MinWWW proxy containing the response,\n" +"prefixed with the original request ID. That response is taken and passed" +" back\n" +"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" +"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" +"files (aka no one is going to be downloading porn, warez, etc)." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:101 +msgid "" +"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" +"request, one for the response), instead of 10." +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:113 +msgid "" +"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" +"If someone were to implement this, it would be Good :)" +msgstr "" + +#: i2p2www/pages/site/misc/minwww.html:122 +msgid "" +"[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" +"so perhaps it could be increased to 256KB when the I2CP spec is updated)" +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:4 +msgid "" +"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 cache\n" +"of it. It isn't pretty, but it includes the basic overview and some " +"discussion\n" +"that ensued." +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:12 +#, python-format +msgid "" +"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" +"plan 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" +"system using a reduced and secured subset of \n" +"bbcode to " +"essentially\n" +"provide an anonymous LiveJournal with\n" +"a 'friends list' and transparent access control (authenticated by the I2P" +"\n" +"datagrams with rules defined based on the " +"address book)." +msgstr "" + +#: i2p2www/pages/site/misc/myi2p.html:29 +msgid "" +"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" +"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 "" +"The list was gathered using the following command in the top directory of" +" the branch i2p.i2p:" +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" +"Monotone website for information\n" +"on monotone.\n" +"See\n" +"this forum post on i2p " +"monotone\n" +"for more information on how to get started and check out the source " +"anonymously.\n" +"There is also a quick-start guide on the\n" +"new developer's page." +msgstr "" + +#: i2p2www/pages/site/misc/transition-guide.html:16 +msgid "" +"If you want to get the source non-anonymously, pull from the public " +"server mtn.welterde.de.\n" +"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" +"has gone AWOL,\n" +"we do not have his update signing key or access to\n" +"www.i2p[.net] or dev.i2p[.net].\n" +"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." +msgstr "" + +#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:17 +msgid "" +"Make the following configuration changes and your router will " +"automatically install\n" +"the latest release." +msgstr "" + +#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:22 +#, python-format +msgid "" +"We recommend the automated process as it will verify the key of the " +"signed update file.\n" +"If you do not make these changes,\n" +"you may manually download the i2pupdate.zip file from\n" +"the download page." +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 "" +"Select ONE of the following new Update URLs at random and enter it into " +"the Update URL box: " +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" +"either by setting your update policy to \"download and install\" or by " +"clicking on the\n" +"\"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" +"posted and signed here.\n" +"Thank you for your support during this transition. For help please " +"contact us on #i2p." +msgstr "" + +#: i2p2www/pages/site/research/index.html:2 +msgid "Academic Research" +msgstr "" + +#: i2p2www/pages/site/research/index.html:4 +msgid "" +"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." +msgstr "" + +#: i2p2www/pages/site/research/index.html:8 +msgid "" +"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 " +"i2p.vmCommSystem=true to the router.config before starting." +msgstr "" + +#: i2p2www/pages/site/research/index.html:12 +#, python-format +msgid "" +"If you are planning on conducting research on the live I2P network, " +"please contact us 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." +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 here." +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 "" -"Voir la table des matières de la documentation " -"technique." diff --git a/i2p2www/translations/sv/LC_MESSAGES/messages.po b/i2p2www/translations/sv/LC_MESSAGES/messages.po index e3470e4f..ccce3cd9 100644 --- a/i2p2www/translations/sv/LC_MESSAGES/messages.po +++ b/i2p2www/translations/sv/LC_MESSAGES/messages.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the I2P project. # # Translators: -# , 2013. +# hottuna , 2013 +# Martin Svensson , 2013 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-02-06 20:57+0000\n" -"PO-Revision-Date: 2013-02-05 17:57+0000\n" -"Last-Translator: hottuna \n" +"POT-Creation-Date: 2013-02-22 13:25+0000\n" +"PO-Revision-Date: 2013-04-27 23:10+0000\n" +"Last-Translator: Martin Svensson \n" "Language-Team: Swedish (Sweden) " "(http://www.transifex.com/projects/p/I2P/language/sv_SE/)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" @@ -19,6 +20,221 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: 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 +msgid "Files are available on the `download page`_." +msgstr "Filerna finns på `nerladdningssidan`_." + +#: 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 +msgid "`download page`" +msgstr "`nerladdningssidan`" + +#: 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 +msgid "RELEASE DETAILS" +msgstr "RELEASE DETALJER" + +#: 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 "Stora Förändringar" + +#: 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 +msgid "Bug Fixes" +msgstr "Buggfixar" + +#: 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 +msgid "Other" +msgstr "Andra" + +#: 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 +msgid "SHA256 Checksums:" +msgstr "SHA256 Kontrollsummor:" + +#: 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 "" +"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." +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." +msgstr "" +"Som vanligt finns även många buggfixar i den här releasen, så uppdatering" +" rekommenderas." + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26 +msgid "" +"SSU: Fix several problems in our UDP transport, to improve efficiency and" +" reliability for connection setup. Also improve defenses against various " +"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 "" +"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." +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 "" +"Fix various issues affecting memory usage and performance on high-" +"bandwidth routers" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35 +msgid "Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN" +msgstr "" + +#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36 +msgid "Fix i2psnark bug that prevented a completion announcement to the tracker" +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 +msgid "Update GeoIP data (new installs and PPA only)" +msgstr "Uppdatera GeoIP data (enbart nya installationer och PPA)" + #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2 msgid "0.9.3 Release" msgstr "0.9.3 Release" @@ -36,45 +252,17 @@ msgid "" "introduced last release, by default." msgstr "" "0.9.3 inkluderar utförliga låg-nivå förändringar vid köandet av " -"meddelanden i routern. " -"Vi implementerar CoDel Active Queue Management (AQM) algoritmen. " +"meddelanden i routern. \n" +"Vi implementerar CoDel Active Queue Management (AQM) algoritmen. \n" "Vi förenar även kö och prioritets mekanismerna i transportlagret för att " -"underlätta diagnos och reducera nätverksfördröjningar. " +"underlätta diagnos och reducera nätverksfördröjningar.\n" "Arbete fortsätter med att korrigera buggar i UDP transportlagret och att " -"göra UDP mer motståndskraftigt mot attacker. " +"göra UDP mer motståndskraftigt mot attacker.\n" "Det finns fler förändringar som förbättrar prestandan av routern och " -"reducerar dess minnesanvändning. " +"reducerar dess minnesanvändning.\n" "Vi slår även på i2psnarks DHT-stöd, som introducerades i förra releasen, " "som standard." -#: 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." -msgstr "" -"Som vanligt finns även många buggficar i denhär releasen, så uppdatering " -"rekommenderas." - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26 -msgid "Files are available on the `download page`_." -msgstr "Filerna finns på `nerladdningssidan`_." - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30 -msgid "`download page`" -msgstr "`nerladdningssidan`" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32 -msgid "RELEASE DETAILS" -msgstr "RELEASE DETALJER" - -#: 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 "Stora Förändringar" - #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26 msgid "Active Queue Management" msgstr "Active Queue Management" @@ -87,11 +275,6 @@ msgstr "Prioritetsköer" msgid "I2PSnark DHT: Several bug fixes, enable by default." msgstr "I2PSnark DHT: Flera buggfixar, påslaget som standard." -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39 -msgid "Bug Fixes" -msgstr "Buggfixar" - #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32 msgid "" "Several SSU fixes including memory leak, and better handling of routers " @@ -110,11 +293,6 @@ msgstr "Fixa del val (ovanligaste först) buggar i i2psnark" msgid "Fix bug causing multiple browsers to open at startup" msgstr "Fixa bugg som får multipla webbläsare att öppnas vid start" -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51 -msgid "Other" -msgstr "Andra" - #: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38 msgid "Improvements in caching" msgstr "Förbättringar i caching." @@ -187,16 +365,6 @@ msgstr "Översättningsuppdateringar: Italienska, Portugisiska, Spanska, Svenska msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5" msgstr "La till icke-NIO konfiguration i jetty.xml, rekommenderas för Java 5" -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63 -msgid "Update GeoIP data (new installs and PPA only)" -msgstr "Uppdatera GeoIP data (enbart nya installationer och PPA)" - -#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56 -#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67 -msgid "SHA256 Checksums:" -msgstr "SHA256 Kontrollsummor:" - #: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2 msgid "0.9.4 Release" msgstr "0.9.4 Release" @@ -18053,9 +18221,8 @@ msgid "Type" msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:99 -#, fuzzy msgid "Priority" -msgstr "Prioritetsköer" +msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:100 msgid "Comments" @@ -19802,9 +19969,8 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/transport/ntcp.html:76 -#, fuzzy msgid "Checksums" -msgstr "SHA256 Kontrollsummor:" +msgstr "" #: i2p2www/pages/site/docs/transport/ntcp.html:77 #, python-format @@ -26960,333 +27126,3 @@ msgstr "" msgid "Papers and Research" msgstr "" -#~ msgid "" -#~ "When installing for the first time, " -#~ "please remember to adjust your " -#~ "NAT/firewall\n" -#~ "if you can. The ports to forward" -#~ " can be found on the \n" -#~ "network configuration page in the " -#~ "router console. If guidance with respect" -#~ " to forwarding ports is needed,\n" -#~ "you may find portforward.com to " -#~ "be helpful." -#~ msgstr "" - -#~ msgid "" -#~ "\n" -#~ "Java Runtime 1.5 or higher.\n" -#~ "(Oracle/Sun Java Version 6,\n" -#~ "OpenJDK 6, or\n" -#~ "IcedTea6\n" -#~ " recommended)\n" -#~ "
    \n" -#~ "Determine" -#~ " your installed Java version here\n" -#~ "" -#~ "or type java -version at your command prompt.\n" -#~ msgstr "" - -#~ msgid "Themes" -#~ msgstr "" - -#~ msgid "" -#~ "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 OFTC,\n" -#~ " EIN and " -#~ "Freenode.\n" -#~ " All I2P-related channels on all" -#~ " these network are linked to the " -#~ "main channels on Irc2P via relay " -#~ "bots." -#~ msgstr "" - -#~ msgid "" -#~ "See also the page with\n" -#~ "links to papers, " -#~ "presentations, videos, and tutorials about " -#~ "I2P." -#~ msgstr "" - -#~ msgid "" -#~ "Filtering is active on these outproxies" -#~ " (for example, mibbit and torrent\n" -#~ "tracker access is blocked). Note that" -#~ " even though the pirate bay is " -#~ "blocked\n" -#~ "they host an official eepsite at " -#~ "tpb.i2p. Eepsites\n" -#~ "that are accessible via .i2p addresses" -#~ " are also not allowed via the " -#~ "outproxies.\n" -#~ "As a convenience, False.i2p blocks ad servers." -#~ msgstr "" - -#~ msgid "" -#~ "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" -#~ "build an optimized swarming file transfer application (a la \n" -#~ "BitTorrent), a \n" -#~ "distributed data store (a la Freenet / \n" -#~ "MNet), and a" -#~ " blogging system (a fully \n" -#~ "distributed LiveJournal), but " -#~ "those are \n" -#~ "not ready for use yet." -#~ msgstr "" - -#~ msgid "" -#~ "When I last profiled the I2P code," -#~ " the vast majority of time was " -#~ "spent within\n" -#~ "one function: java.math.BigInteger's\n" -#~ "modPow.\n" -#~ "Rather than try to tune this method, we'll call out to\n" -#~ "GNU MP -" -#~ " an insanely fast math library\n" -#~ "(with tuned assembler for many architectures). (Editor: see\n" -#~ "NativeBigInteger for faster" -#~ " public key cryptography)" -#~ msgstr "" - -#~ msgid "" -#~ "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" -#~ "store to run on top of I2P,\n" -#~ "(most recently a port of Tahoe-" -#~ "LAFS)\n" -#~ "but nothing is yet ready for general use." -#~ msgstr "" - -#~ msgid "" -#~ "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" -#~ "successfully mounted an \n" -#~ "attack" -#~ " \n" -#~ "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" -#~ "if it may be found inadmissible in some courts later)" -#~ msgstr "" - -#~ msgid "" -#~ "Both of these systems work through the same basic \n" -#~ "antnet" -#~ " routing, providing some degree of\n" -#~ "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)." -#~ msgstr "" - -#~ msgid "0.9 roadmap wiki" -#~ msgstr "" - -#~ msgid "" -#~ "Determines which rateStat to fetch, see" -#~ " ratestats." -#~ msgstr "" - -#~ msgid "" -#~ "Port of the Phex Gnutella client." -#~ " Website\n" -#~ "for plugin version here." -#~ msgstr "" - -#~ msgid "" -#~ "While the standard exponent size is 2048 bits (256 bytes) and the I2P\n" -#~ "PrivateKey\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" -#~ "On Diffie-Hellman Key " -#~ "Agreement with Short Exponents - van " -#~ "Oorschot, Weiner\n" -#~ "at EuroCrypt 96, and crypto++'s benchmarks.\n" -#~ "Benchmarks originally at this " -#~ "link, now dead,\n" -#~ "rescued from the" -#~ " wayback machine, dated Apr 23, " -#~ "2008." -#~ msgstr "" - -#~ msgid "" -#~ "\"Garlic routing\" was first coined by\n" -#~ "Michael " -#~ "J. Freedman\n" -#~ "in Roger Dingledine's Free Haven \n" -#~ "Master's " -#~ "thesis Section 8.1.1 (June 2000), as" -#~ " derived from \n" -#~ "Onion Routing." -#~ msgstr "" - -#~ msgid "" -#~ "I2P initially began in Feb 2003 as a proposed modification to Freenet to allow" -#~ " it to use alternate transports, such" -#~ " as JMS, " -#~ "then grew into its own as an\n" -#~ "" -#~ "'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 " -#~ "roadmap." -#~ msgstr "" - -#~ msgid "" -#~ "As of December 2010, eche|on has " -#~ "been running a Bitcoin 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" -#~ "%(account)s and leave eche|on a " -#~ "note if you'd like your donation " -#~ "to be mentioned on the I2P " -#~ "webpage." -#~ msgstr "" - -#~ 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" -#~ "build scripts (\"ant test\"), and tied" -#~ " in with a code coverage tool " -#~ "(e.g. \n" -#~ "Clover). " -#~ "The ant script\n" -#~ "must be capable of generating test status results as a web page, \n" -#~ "which will be published online." -#~ msgstr "" - -#~ msgid "" -#~ "While it may be redundant, just for clarity the\n" -#~ "GPL'ed " -#~ "code included within\n" -#~ "I2PTunnel and other apps must be " -#~ "released under the GPL with an " -#~ "additional \"exception\"\n" -#~ "explicitly authorizing the use of Java's standard libraries:" -#~ msgstr "" - -#~ msgid "" -#~ "More information about Trust Evauluation " -#~ "Hooks can be found in the official Monotone" -#~ " documentation." -#~ msgstr "" - -#~ msgid "" -#~ "Skim over the monotone " -#~ "tutorial, to make sure you " -#~ "understand the concepts." -#~ msgstr "" -