Files
I2P_Website/i2p2www/translations/fr/LC_MESSAGES/docs.po
2015-05-14 04:06:33 +00:00

19305 lines
688 KiB
Plaintext

# French translations for I2P.
# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the I2P project.
#
# Translators:
# Boxoa590, 2013
# _Flo_ <floris@tutanota.de>, 2015
# magma <magma@mail.i2p>, 2011
# syl_, 2013,2015
# Towinet, 2013-2015
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2015-01-11 08:45+0000\n"
"PO-Revision-Date: 2015-05-13 20:05+0000\n"
"Last-Translator: Towinet\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 1.3\n"
#: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:23
msgid "Index to Technical Documentation"
msgstr "Index de la documentation technique"
#: i2p2www/pages/site/docs/index.html:3
#: i2p2www/pages/site/docs/applications/embedding.html:3
#: i2p2www/pages/site/docs/spec/blockfile.html:3
#: i2p2www/pages/site/docs/spec/configuration.html:3
#: i2p2www/pages/site/docs/transport/ntcp.html:3
msgid "November 2014"
msgstr "Novembre 2014"
#: i2p2www/pages/site/docs/index.html:6
msgid "Following is an index to the technical documentation for I2P."
msgstr "Ce qui suit est un index de la documentation technique pour I2P."
#: i2p2www/pages/site/docs/index.html:10
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 ""
"Cette table des matières est organisée selon le niveau des couches "
"réseau, de la plus haute à la plus basse. Les plus hautes couches sont "
"celles des \"clients\" ou \"applications\"; les plus basses sont dans le "
"routeur lu-même. L'interface entre les applications et le routeur est "
"l'API I2CP (I2P Control Protocol)."
#: i2p2www/pages/site/docs/index.html:17
#, 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"
"<a href=\"%(trac)s\">enter a ticket identifying the problem</a>."
msgstr ""
"Le projet I2P s'engage à maintenir précise l'actuelle documentation. \n"
"Si vous trouvez des inexactitudes dans les documents liés ci-dessous, "
"veuillez\n"
"<a href=\"%(trac)s\">entrer un ticket identifiant le problème</a>."
#: i2p2www/pages/site/docs/index.html:25 i2p2www/pages/site/docs/naming.html:6
#: i2p2www/pages/site/docs/api/i2ptunnel.html:11
#: i2p2www/pages/site/docs/api/streaming.html:6
#: i2p2www/pages/site/docs/applications/embedding.html:7
#: i2p2www/pages/site/docs/applications/managed-clients.html:7
#: 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/how/tunnel-routing.html:6
#: i2p2www/pages/site/docs/spec/blockfile.html:6
#: i2p2www/pages/site/docs/spec/configuration.html:6
#: i2p2www/pages/site/docs/spec/geoip.html:7
#: i2p2www/pages/site/docs/spec/updates.html:6
#: i2p2www/pages/site/docs/tunnels/implementation.html:67
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:6
msgid "Overview"
msgstr "Aperçu"
#: i2p2www/pages/site/docs/index.html:27
msgid "Technical Introduction"
msgstr "Introduction technique"
#: i2p2www/pages/site/docs/index.html:28
msgid "A Less-Technical Introduction"
msgstr "Une introduction moins technique"
#: i2p2www/pages/site/docs/index.html:29
msgid "Threat model and analysis"
msgstr "Modèle de menace et analyses"
#: i2p2www/pages/site/docs/index.html:30
msgid "Comparisons to other anonymous networks"
msgstr "Comparaison avec d'autres réseaux anonymes"
#: i2p2www/pages/site/docs/index.html:31
msgid "Protocol stack chart"
msgstr "Diagramme de la pile du protocole"
#: i2p2www/pages/site/docs/index.html:32
msgid "Papers on I2P"
msgstr "Papiers sur I2P"
#: i2p2www/pages/site/docs/index.html:33
msgid "Presentations, articles, tutorials, videos, and interviews"
msgstr "Présentations, articles, tutoriaux, vidéos et entretiens"
#: i2p2www/pages/site/docs/index.html:34
#, python-format
msgid ""
"<a href=\"%(pdf)s\">Invisible Internet Project (I2P) Project Overview</a>"
" August 28, 2003 (pdf)"
msgstr ""
"<a href=\"%(pdf)s\">Invisible Internet Project (I2P) Project Overview</a>"
" 28 août, 2003 (pdf)"
#: i2p2www/pages/site/docs/index.html:37
msgid "Application-Layer Topics"
msgstr "Sujets couche d'application"
#: i2p2www/pages/site/docs/index.html:40 i2p2www/pages/site/docs/naming.html:2
msgid "Naming and Addressbook"
msgstr "Nomination et carnet d'adresses"
#: i2p2www/pages/site/docs/index.html:41
msgid "Plugins Overview"
msgstr "Aperçu des plugins"
#: i2p2www/pages/site/docs/index.html:42
msgid "Plugin Specification"
msgstr "Specification Plugin"
#: i2p2www/pages/site/docs/index.html:43
#: i2p2www/pages/site/docs/applications/managed-clients.html:2
#: i2p2www/pages/site/docs/applications/managed-clients.html:20
msgid "Managed Clients"
msgstr "Clients gérés"
#: i2p2www/pages/site/docs/index.html:44 i2p2www/pages/site/docs/index.html:222
msgid "Embedding the router in your application"
msgstr "Inclure le routeur dans votre application"
#: i2p2www/pages/site/docs/index.html:45
#: i2p2www/pages/site/docs/applications/bittorrent.html:2
msgid "Bittorrent over I2P"
msgstr "Bittorrent par-dessus I2P"
#: i2p2www/pages/site/docs/index.html:46
msgid "I2PControl Plugin API"
msgstr "API plugin I2PControl"
#: i2p2www/pages/site/docs/index.html:47
msgid "hostsdb.blockfile Format"
msgstr "Format hostsdb.blockfile"
#: i2p2www/pages/site/docs/index.html:48 i2p2www/pages/site/docs/index.html:194
msgid "Configuration File Format"
msgstr "Format de fichier de configuration"
#: i2p2www/pages/site/docs/index.html:51
msgid "Application Layer API and Protocols"
msgstr "Couche d'application : API et protocoles"
#: i2p2www/pages/site/docs/index.html:52
msgid ""
"High-level, easy-to-use APIs for applications written in any language to "
"send and receive data."
msgstr ""
"Des API de haut niveau, faciles à utiliser pour des applications écrites "
"dans n'importe quelle langue pour envoyer et recevoir des données."
#: i2p2www/pages/site/docs/index.html:54
msgid "Application Development Overview and Guide"
msgstr "Vue d'ensemble et guide de développement d'application"
#: i2p2www/pages/site/docs/index.html:58
#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
msgid "I2PTunnel Configuration"
msgstr "Configuration d'I2PTunnel"
#: i2p2www/pages/site/docs/index.html:74
msgid "SAM Protocol"
msgstr "Protocole SAM"
#: i2p2www/pages/site/docs/index.html:76
msgid "SAMv2 Protocol"
msgstr "Protocole SAMv2"
#: i2p2www/pages/site/docs/index.html:78
msgid "SAMv3 Protocol"
msgstr "Protocole SAMv3"
#: i2p2www/pages/site/docs/index.html:80
msgid "BOB Protocol"
msgstr "Protocole BOB"
#: i2p2www/pages/site/docs/index.html:83
msgid "End-to-End Transport API and Protocols"
msgstr "API et protocoles de transport de bout en bout "
#: i2p2www/pages/site/docs/index.html:84
msgid ""
"The end-to-end protocols used by clients for reliable and unreliable "
"communication."
msgstr ""
"Les protocoles de bout en bout utilisés par les clients pour des "
"communications fiables et non fiables."
#: i2p2www/pages/site/docs/index.html:86
#: i2p2www/pages/site/docs/api/streaming.html:2
msgid "Streaming Library"
msgstr "Bibliothèque streaming"
#: i2p2www/pages/site/docs/index.html:88
msgid "Streaming Protocol Specification"
msgstr "Spécifications du protocole Streaming"
#: i2p2www/pages/site/docs/index.html:90
msgid "Streaming Javadoc"
msgstr "Javadoc streaming"
#: i2p2www/pages/site/docs/index.html:92
#: i2p2www/pages/site/docs/api/datagrams.html:2
msgid "Datagrams"
msgstr "Datagrammes"
#: i2p2www/pages/site/docs/index.html:94
msgid "Datagram Javadoc"
msgstr "Javadoc datagramme"
#: i2p2www/pages/site/docs/index.html:97
msgid "Client-to-Router Interface API and Protocol"
msgstr "API de l'interface client-à-routeur et protocole"
#: i2p2www/pages/site/docs/index.html:98
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 ""
"L'API de plus bas niveau utilisée par des clients (applications) pour "
"envoyer et recevoir du trafic vers un routeur.\n"
"Traditionnellement utilisée seulement par les applications Java et les "
"API de plus haut niveau."
#: i2p2www/pages/site/docs/index.html:103
msgid "I2CP - I2P Control Protocol / API overview"
msgstr "I2CP - Protocole contrôle I2P / Vue d'ensemble d'API"
#: i2p2www/pages/site/docs/index.html:105
msgid "I2CP Specification"
msgstr "Spécification de I2CP"
#: i2p2www/pages/site/docs/index.html:107
msgid "I2CP API Javadoc"
msgstr "Javadoc API I2CP"
#: i2p2www/pages/site/docs/index.html:109
#: i2p2www/pages/site/docs/index.html:139
msgid "Common data structures specification"
msgstr "Spécification des structures de données communes"
#: i2p2www/pages/site/docs/index.html:111
#: i2p2www/pages/site/docs/index.html:141
msgid "Data Structures Javadoc"
msgstr "Javadoc structures données"
#: i2p2www/pages/site/docs/index.html:114
msgid "End-to-End Encryption"
msgstr "Chiffrage bout à bout"
#: i2p2www/pages/site/docs/index.html:115
msgid "How client messages are end-to-end encrypted by the router."
msgstr ""
"Comment les messages de client sont cryptés de bout en bout par le "
"routeur."
#: i2p2www/pages/site/docs/index.html:117
msgid "ElGamal/AES+SessionTag encryption"
msgstr "Cryptage ElGamal/AES+SessionTag"
#: i2p2www/pages/site/docs/index.html:118
#: i2p2www/pages/site/docs/index.html:152
msgid "ElGamal and AES cryptography details"
msgstr "Détails cryptographie ElGamal et AES "
#: i2p2www/pages/site/docs/index.html:121
#: i2p2www/pages/site/docs/how/tech-intro.html:15
#: i2p2www/pages/site/docs/how/tech-intro.html:329
msgid "Network Database"
msgstr "Base de données réseau"
#: i2p2www/pages/site/docs/index.html:122
msgid ""
"Distributed storage and retrieval of information about routers and "
"clients."
msgstr ""
"Stockage distribué et récupération d'informations concernant les routeurs"
" et clients."
#: i2p2www/pages/site/docs/index.html:124
msgid "Network database overview, details, and threat analysis"
msgstr "Vue d'ensemble de base de données de réseau, détails, et analyse de menace"
#: i2p2www/pages/site/docs/index.html:125
msgid "Cryptographic hashes"
msgstr "Hachage cryptographique"
#: i2p2www/pages/site/docs/index.html:126
msgid "Cryptographic signatures"
msgstr "Signatures cryptographiques"
#: i2p2www/pages/site/docs/index.html:127
#: i2p2www/pages/site/docs/index.html:186
msgid "Router reseed specification"
msgstr "Spécification du réamorçage du routeur"
#: i2p2www/pages/site/docs/index.html:130
msgid "Router Message Protocol"
msgstr "Protocole message router"
#: i2p2www/pages/site/docs/index.html:131
msgid ""
"I2P is a message-oriented router. The messages sent between routers are "
"defined by the I2NP protocol."
msgstr ""
"I2P est un routeur orienté-message. Les messages envoyés entre routeurs "
"sont définis par le protocole I2NP."
#: i2p2www/pages/site/docs/index.html:133
msgid "I2NP - I2P Network Protocol Overview"
msgstr "I2NP - Vue d'ensemble de protocole de réseau I2P"
#: i2p2www/pages/site/docs/index.html:135
msgid "I2NP Specification"
msgstr "Spécification I2NP "
#: i2p2www/pages/site/docs/index.html:137
msgid "I2NP Javadoc"
msgstr "Javadoc I2NP"
#: i2p2www/pages/site/docs/index.html:144
#: i2p2www/pages/site/docs/how/tech-intro.html:14
#: i2p2www/pages/site/docs/how/tech-intro.html:228
msgid "Tunnels"
msgstr "Tunnels"
#: i2p2www/pages/site/docs/index.html:145
msgid ""
"Selecting peers, requesting tunnels through those peers, and encrypting "
"and routing messages through these tunnels."
msgstr ""
"Sélection de pairs, requête de tunnels à travers ces pairs, et chiffrage "
"et acheminement des messages à travers ces tunnels."
#: i2p2www/pages/site/docs/index.html:147
msgid "Peer profiling and selection"
msgstr "Profilage et sélection de pair"
#: i2p2www/pages/site/docs/index.html:148
msgid "Tunnel routing overview"
msgstr "Vue d'ensemble de l'acheminement de tunnel"
#: i2p2www/pages/site/docs/index.html:149
msgid "Garlic routing and \"garlic\" terminology"
msgstr "Cheminement en ail et terminologie \"ail\""
#: i2p2www/pages/site/docs/index.html:150
msgid "Tunnel building and encryption"
msgstr "Construction de tunnel et chiffrage"
#: i2p2www/pages/site/docs/index.html:151
msgid "ElGamal/AES"
msgstr "ElGamal/AES"
#: i2p2www/pages/site/docs/index.html:151
msgid "for build request encryption"
msgstr "pour construire une requête de chiffrage"
#: i2p2www/pages/site/docs/index.html:153
msgid "Tunnel building specification"
msgstr "Spécification de construction de tunnel"
#: i2p2www/pages/site/docs/index.html:154
msgid "Low-level tunnel message specification"
msgstr "Spécification de message de tunnel bas niveau"
#: i2p2www/pages/site/docs/index.html:155
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2
msgid "Unidirectional Tunnels"
msgstr "Tunnels unidirectionels"
#: i2p2www/pages/site/docs/index.html:156
#: i2p2www/pages/site/docs/how/peer-selection.html:299
msgid "Peer Profiling and Selection in the I2P Anonymous Network"
msgstr "Profilage de pair et sélection dans le réseau anonyme I2P"
#: i2p2www/pages/site/docs/index.html:157
msgid "2009 paper (pdf), not current but still generally accurate"
msgstr "Papier de 2009 (pdf), pas actuel mais encore assez précis"
#: i2p2www/pages/site/docs/index.html:160
msgid "Transport Layer"
msgstr "Couche transport"
#: i2p2www/pages/site/docs/index.html:161
msgid "The protocols for direct (point-to-point) router to router communication."
msgstr ""
"Protocoles pour communication directe (point-à-point) de routeur à "
"routeur."
#: i2p2www/pages/site/docs/index.html:163
msgid "Transport layer overview"
msgstr "Aperçu couche transport"
#: i2p2www/pages/site/docs/index.html:165
msgid "TCP-based transport overview and specification"
msgstr "Vue d'ensemble et spécification du transport basé-TCP"
#: i2p2www/pages/site/docs/index.html:167
msgid "UDP-based transport overview"
msgstr "Vue d'ensemble du transport basé-UDP"
#: i2p2www/pages/site/docs/index.html:169
msgid "SSU specification"
msgstr "Spécification SSU"
#: i2p2www/pages/site/docs/index.html:171
msgid "NTCP transport encryption"
msgstr "Chiffrage transport NTCP"
#: i2p2www/pages/site/docs/index.html:173
msgid "SSU transport encryption"
msgstr "Chiffrage transport SSU"
#: i2p2www/pages/site/docs/index.html:175
msgid "Transport Javadoc"
msgstr "Javadoc transport"
#: i2p2www/pages/site/docs/index.html:177
msgid "NTCP Javadoc"
msgstr "Javadoc NTCP"
#: i2p2www/pages/site/docs/index.html:179
msgid "SSU Javadoc"
msgstr "Javadoc SSU"
#: i2p2www/pages/site/docs/index.html:182
msgid "Other Router Topics"
msgstr "Autres sujets sur routeur"
#: i2p2www/pages/site/docs/index.html:184
msgid "Router software updates"
msgstr "Mises à jour de logiciel routeur"
#: i2p2www/pages/site/docs/index.html:188
msgid "Native BigInteger Library"
msgstr "Bibliothèque native BigInteger"
#: i2p2www/pages/site/docs/index.html:190
msgid "Time synchronization and NTP"
msgstr "Synchronisation de temps et NTP"
#: i2p2www/pages/site/docs/index.html:192
msgid "Performance"
msgstr "Performance"
#: i2p2www/pages/site/docs/index.html:199
msgid "Developer's Guides and Resources"
msgstr "Guides et ressources de développeur"
#: i2p2www/pages/site/docs/index.html:201
msgid "New Developer's Guide"
msgstr "Guide du nouveau développeur"
#: i2p2www/pages/site/docs/index.html:203
msgid "New Translator's Guide"
msgstr "Guide du nouveau traducteur"
#: i2p2www/pages/site/docs/index.html:205
msgid "Monotone Guide"
msgstr "Guide Monotone"
#: i2p2www/pages/site/docs/index.html:207
msgid "Developer Guidelines"
msgstr "Directives développeur"
#: i2p2www/pages/site/docs/index.html:209
msgid "Javadocs on the standard internet:"
msgstr "Javadocs sur l'internet standard :"
#: i2p2www/pages/site/docs/index.html:210
#: i2p2www/pages/site/docs/index.html:214
#: i2p2www/pages/site/docs/index.html:215
#: i2p2www/pages/site/docs/index.html:216
#, python-format
msgid "Server %(num)s"
msgstr "Serveur %(num)s"
#: i2p2www/pages/site/docs/index.html:211
#: i2p2www/pages/site/docs/index.html:220
msgid ""
"Note: always verify that javadocs are current by checking the release "
"number."
msgstr ""
"Notez : vérifiez toujours que javadocs sont actuelles en vérifiant le "
"numéro de version."
#: i2p2www/pages/site/docs/index.html:213
msgid "Javadocs inside I2P:"
msgstr "Javadocs à l'intérieur de I2P :"
#: i2p2www/pages/site/docs/index.html:224
msgid "Ports used by I2P"
msgstr "Ports utilisés par I2P"
#: i2p2www/pages/site/docs/index.html:226
msgid "Automatic updates to development builds inside I2P"
msgstr ""
"Mises à jour automatiques vers les builds de développement à l'intérieur "
"d'I2P"
#: i2p2www/pages/site/docs/index.html:228
msgid "Updating the wrapper manually"
msgstr "Mettre à jour le wrapper manuellement"
#: i2p2www/pages/site/docs/index.html:230
msgid "User forum"
msgstr "Forum utilisateur"
#: i2p2www/pages/site/docs/index.html:232
msgid "Developer forum inside I2P"
msgstr "Forum développeur à l'intérieur de I2P"
#: i2p2www/pages/site/docs/index.html:234
msgid "Bug tracker"
msgstr "Traqueur de bugs"
#: i2p2www/pages/site/docs/index.html:236
msgid "Viewmtn inside I2P"
msgstr "Viewmtn à l'intérieur de I2P"
#: i2p2www/pages/site/docs/index.html:238
msgid "I2P Source exported to GitHub"
msgstr "Source de I2P exporté vers GitHub"
#: i2p2www/pages/site/docs/index.html:240
msgid "I2P Source Git Repo inside I2P"
msgstr "Source de I2P dans le Git Repo à l'intérieur de I2P"
#: i2p2www/pages/site/docs/index.html:242
msgid "Source translation at Transifex"
msgstr "Traduction source chez Transifex"
#: i2p2www/pages/site/docs/index.html:244
msgid "Roadmap wiki"
msgstr "Wiki de feuille de route"
#: i2p2www/pages/site/docs/index.html:246
msgid "Old roadmap"
msgstr "Vieille feuille de route"
#: i2p2www/pages/site/docs/index.html:246
#: i2p2www/pages/site/docs/index.html:248
msgid "not current"
msgstr "pas actuel"
#: i2p2www/pages/site/docs/index.html:248
msgid "To Do List"
msgstr "Liste de choses à faire"
#: i2p2www/pages/site/docs/naming.html:3
msgid "April 2014"
msgstr "Avril 2014"
#: i2p2www/pages/site/docs/naming.html:8
msgid ""
"I2P ships with a generic naming library and a base implementation \n"
"designed to work off a local name to destination mapping, as well as an\n"
"add-on application called the <a href=\"#addressbook\">addressbook</a>. \n"
"I2P also supports <a href=\"#base32\">Base32 hostnames</a> similar to "
"Tor's .onion addresses."
msgstr ""
"I2P est livré avec une librairie générique de nommage et une mise en "
"œuvre de base\n"
"conçue pour marcher à partir d'un nom local vers la cartographie de "
"destination, ainsi qu'avec une\n"
"application add-on appelée le <a href=\"#addressbook\">carnet "
"d'adresses</a>. \n"
"I2P permet aussi les <a href=\"#base32\">noms d'hôtes en Base32</a> de "
"façon similaire aux adresses Tor .onion ."
#: i2p2www/pages/site/docs/naming.html:15
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 ""
"Le carnet d'adresses est conduit par web de confiance\n"
"sécurisé, distribué, et système de nommage lisible par humain, sacrifiant"
" seulement\n"
"l'appel pour tous les noms lisibles par humain qu'il soient globalement "
"uniques en mandatant seulement\n"
"l'unicité locale. Tandis que tous les messages dans I2P sont "
"cryptographiquement adressés\n"
"par leur destination, des gens différents peuvent avoir des entrées de "
"carnet d'adresse locales\n"
"pour \"Alice\" qui réfère aux destinations différentes. Les gens peuvent "
"toujours découvrir de nouveaux\n"
"noms en important les carnets d'adresses publiés de pairs indiqués dans "
"leur web de confiance,\n"
"ceci en ajoutant les entrées fournies par personne interposée, ou (si "
"quelques personnes organisent\n"
"une série de carnets d'adresses publiés utilisant un système "
"d'enregistrement de type premier arrivé premier servi)\n"
"les gens peuvent vouloir traiter ces carnets d'adresses comme des "
"serveurs de nom, émulant un DNS traditionnel."
#: i2p2www/pages/site/docs/naming.html:29
#, python-format
msgid ""
"NOTE: For the reasoning behind the I2P naming system, common arguments "
"against it\n"
"and possible alternatives see the <a href=\"%(namingdiscussion)s\">naming"
" discussion</a>\n"
"page."
msgstr ""
"NOTE : pour le raisonnement derrière le système de nommage d'I2P, des "
"arguments courants contre cela\n"
"et des alternatives possibles, voyez la page <a "
"href=\"%(namingdiscussion)s\">discussion de nommage</a>."
#: i2p2www/pages/site/docs/naming.html:36
msgid "Naming System Components"
msgstr "Composants système de nommage"
#: i2p2www/pages/site/docs/naming.html:38
msgid ""
"There is no central naming authority in I2P.\n"
"All hostnames are local."
msgstr ""
"Il n'y a aucune autorité centrale de nommage dans I2P.\n"
"Tous les noms d'hôtes sont locaux."
#: i2p2www/pages/site/docs/naming.html:43
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 ""
"Le système de nommage est assez simple et la plupart de cela est mis en "
"œuvre\n"
"dans des applications externes au routeur, mais empaquetées avec\n"
"la distribution I2P.\n"
"Les composants sont :"
#: i2p2www/pages/site/docs/naming.html:51
msgid ""
"The local <a href=\"#lookup\">naming service</a> which does lookups\n"
"and also handles <a href=\"#base32\">Base32 hostnames</a>."
msgstr ""
"Le <a href=\"#lookup\">service de nommage</a> local qui assure les "
"consultations\n"
"et aussi traite les <a href=\"#base32\">noms d'hôtes Base32</a>."
#: i2p2www/pages/site/docs/naming.html:55
msgid ""
"The <a href=\"#httpproxy\">HTTP proxy</a> which asks the router for "
"lookups and points\n"
"the user to remote jump services to assist with failed lookups."
msgstr ""
"Le <a href=\"#httpproxy\">proxy HTTP</a> qui demande au routeur des "
"consultations et dirige\n"
"l'utilisateur vers les services de saut distant pour aider concernant les"
" consultations échouées."
#: i2p2www/pages/site/docs/naming.html:59
msgid ""
"HTTP <a href=\"#add-services\">host-add forms</a> which allow users to "
"add hosts to their local hosts.txt"
msgstr ""
"<a href=\"#add-services\">formulaires HTTP basés-hôte</a> qui permettent "
"aux utilisateurs d'ajouter des hôtes à leur hosts.txt local"
#: i2p2www/pages/site/docs/naming.html:62
msgid ""
"HTTP <a href=\"#jump-services\">jump services</a> which provide their own"
" lookups and redirection."
msgstr ""
"<a href=\"#jump-services\">services de saut HTTP</a> qui fournissent "
"leurs propres consultations et la redirection."
#: i2p2www/pages/site/docs/naming.html:65
msgid ""
"The <a href=\"#addressbook\">addressbook</a> application which merges "
"external\n"
"host lists, retrieved via HTTP, with the local list."
msgstr ""
"Le <a href=\"#addressbook\">carnet d'adresses</a> l'application qui mêle\n"
"des listes d'hôtes externes, recouvrées via HTTP, avec la liste locale."
#: i2p2www/pages/site/docs/naming.html:69
msgid ""
"The <a href=\"#susidns\">SusiDNS</a> application which is a simple web "
"front-end\n"
"for addressbook configuration and viewing of the local host lists."
msgstr ""
"L'application <a href=\"#susidns\">SusiDNS</a> qui est qui est un simple "
"frontal Web simple\n"
"pour la configuration du carnet d'adresses et le visionnage des listes "
"locales d'hôtes."
#: i2p2www/pages/site/docs/naming.html:76
msgid "Naming Services"
msgstr "Services de nommage"
#: i2p2www/pages/site/docs/naming.html:78
#, 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"
"<a href=\"%(namingdiscussion)s#certificates\">Certificates</a> are not "
"used now,\n"
"if they are, the keys will be longer.\n"
"One possible use of certificates is for <a "
"href=\"%(todo)s#hashcash\">proof of work</a>.)"
msgstr ""
"Toutes les destinations dans I2P sont des clés 516 octets (ou longues).\n"
"(Pour être plus précis, c'est une clé publique de 256 octets plus 128 "
"octets signant la clé\n"
"plus un certificat null, dans lequel la représentation Base64 est 516 "
"octets.\n"
"Des <a href=\"%(namingdiscussion)s#certificates\">certificats</a> sont "
"maintenant utilisés,\n"
"S'ils le sont, les clés seront plus longues.\n"
"Une utilisation possible des certificats est pour <a "
"href=\"%(todo)s#hashcash\">la preuve de fonctionnement</a>.)"
#: i2p2www/pages/site/docs/naming.html:87
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."
msgstr ""
"Si une application (i2ptunnel ou la le proxy HTTP) souhaite avoir accès\n"
"à une destination par son nom, le routeur fait une très simple "
"consultation locale\n"
"afin de résoudre ce nom."
#: i2p2www/pages/site/docs/naming.html:93
msgid "Hosts.txt Naming Service"
msgstr "Service de nommage Hosts.txt"
#: i2p2www/pages/site/docs/naming.html:95
msgid ""
"The hosts.txt Naming Service does a simple linear search through\n"
"text files. This naming service was the default until\n"
"release 0.8.8 when it was replaced by the Blockfile Naming Service.\n"
"The hosts.txt format had become too slow after the file grew to thousands"
" of entries."
msgstr ""
"Le service de nommage hosts.txt fait une simple recherche linéaire à\n"
"travers des fichiers texte. Ce service de nommage était celui par défaut "
"jusqu'à\n"
"la version 0.8.8, à partir de laquelle il a été remplacé par le Service "
"de Nommage Blockfile.\n"
"Le format de hosts.txt était devenu trop lent après que le fichier aie "
"grossi à plusieurs milliers d'entrées."
#: i2p2www/pages/site/docs/naming.html:102
#, python-format
msgid ""
"It 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.\n"
"Each file is in a simple <a href=\"%(configuration)s\">configuration file"
" format</a>, with hostname=base64, one per line.\n"
"The files are:"
msgstr ""
"Il fait une recherche linéaire à travers trois fichiers locaux, dans "
"l'ordre, afin de\n"
"chercher des noms d'hôte et les convertir en des clés de destination "
"516-octets.\n"
"Chaque fichier est un simple <a href=\"%(configuration)s\">format de "
"fichier de configuration</a>, avec hostname=base64, un par ligne.\n"
"Les fichiers sont :"
#: i2p2www/pages/site/docs/naming.html:114
msgid "Blockfile Naming Service"
msgstr "Service de nommage Blockfile"
#: i2p2www/pages/site/docs/naming.html:116
msgid ""
"The Blockfile Naming Service stores multiple \"addressbooks\" in a single"
"\n"
"database file named hostsdb.blockfile.\n"
"This Naming Service is the default since release 0.8.8."
msgstr ""
"The service de nommage Blockfile stocke de multiples \"carnets "
"d'adresses\" en un simple\n"
"fichier base de données, nommé hostsdb.blockfile.\n"
"Ce service de nommage est celui qui est pré-configuré depuis la release "
"0.8.8."
#: i2p2www/pages/site/docs/naming.html:122
#, 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 specified on the <a "
"href=\"%(blockfile)s\">Blockfile page</a>.\n"
"It provides fast Destination lookup in a compact format. While the "
"blockfile 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 to implement "
"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 ""
"Un blockfile est simplement un stockage sur disque de multiples cartes-"
"triées (multiple sorted maps) (paires de valeurs de clés),\n"
"implémentées en tant que \"skiplists\".\n"
"Le format de fichier blockfile est spécifié sur la <a "
"href=\"%(blockfile)s\">page Blockfile</a>.\n"
"Il fournit la rapide consultation d'une Destination dans un format "
"compact. Tandis que l'overhead du blockfile est substantielle,\n"
"les destinations sont stockées en binaire plutôt qu'en Base 64 comme "
"elles le sont dans le format de hosts.txt.\n"
"De plus, le blockfile apporte la capacité de stockage de métadonnées "
"arbitraires (telles que date ajoutée, source, et commentaires) pour "
"chaque entrée afin d'implémenter des fonctionnalités avancées de carnet "
"d'adresses.\n"
"L'exigence de stockage de ce blockfile est une modeste augmentation en "
"comparaison du format hosts.txt, et le blockfile fournit "
"approximativement une réduction de 10x en temps de consultation."
#: i2p2www/pages/site/docs/naming.html:134
msgid ""
"On creation, the naming service imports entries from the three files used"
" by the hosts.txt Naming Service.\n"
"The blockfile mimics the previous implementation by maintaining three "
"maps that\n"
"are searched in-order, named privatehosts.txt, userhosts.txt, and "
"hosts.txt.\n"
"It also maintains a reverse-lookup map to implement rapid reverse lookups."
msgstr ""
"Lors de la création, le service de nommage importe des entrées des trois "
"fichiers utilisés par le service de nommage hosts.txt.\n"
"Le blockfile imite la mise en œuvre précédente en maintenant trois cartes"
" qui\n"
"sont fouillées dans l'ordre, nommées privatehosts.txt, userhosts.txt et "
"hosts.txt.\n"
"Il entretient aussi une carte de consultation inverse afin de pouvoir "
"mettre en œuvre rapidement des consultations inverses."
#: i2p2www/pages/site/docs/naming.html:141
msgid "Other Naming Service Facilities"
msgstr "D'autres facilités de service de nommage"
#: i2p2www/pages/site/docs/naming.html:143
#, python-format
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.\n"
"Lookups are cached for a few minutes.\n"
"Base 32 resolution is <a href=\"#base32\">described below</a>.\n"
"For a full description of the Naming Service API see the\n"
"<a href=\"%(nsjavadocs)s\">Naming Service Javadocs</a>.\n"
"This API was significantly expanded in release 0.8.7 to provide\n"
"adds and removes, storage of arbitrary properties with the hostname,\n"
"and other features."
msgstr ""
"La consultation est insensible à la casse.\n"
"La premier correspondance est utilisée, et les conflits ne sont pas "
"détectés.\n"
"Il n'y a aucune exécution de règles de nommage dans les consultations.\n"
"Les consultations sont cachées durant quelques minutes.\n"
"La résolution des Base 32 est <a href=\"#base32\">décrite ici</a>.\n"
"Pour lire une description complète de l'API service de nommage voyez la\n"
"<a href=\"%(nsjavadocs)s\">Naming Service Javadocs</a>.\n"
"Cette API a été significativement étendue à partir de la release 0.8.7 "
"afin de fournir\n"
"ajouts et retraits, stockage de propriétés arbitraires avec le hostname,\n"
"et d'autres fonctions."
#: i2p2www/pages/site/docs/naming.html:156
msgid "Alternatives and Experimental Naming Services"
msgstr "Services de nommage alternatifs et expérimentaux"
#: i2p2www/pages/site/docs/naming.html:158
#, python-format
msgid ""
"The naming service is specified with the configuration property "
"<tt>i2p.naming.impl=class</tt>.\n"
"Other implementations are possible. For example,\n"
"there is an experimental facility for real-time lookups (a la DNS) over "
"the network within the router.\n"
"For more information see the <a "
"href=\"%(namingdiscussion)s#alternatives\">alternatives on the discussion"
" page</a>."
msgstr ""
"Le service de nommage est spécifié avec la propriété de configuration "
"<tt>i2p.naming.impl=class</tt>.\n"
"D'autres implémentations sont possibles. Par example,\n"
"il y a une facilité expérimentale pour les \"real-time lookups\" (à la "
"DNS) par dessus le réseau dans le routeur.\n"
"Pour davantage d'information voyez les <a "
"href=\"%(namingdiscussion)s#alternatives\">alternatives sur la page de "
"discussion</a>."
#: i2p2www/pages/site/docs/naming.html:165
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 ""
"Le proxy HTTP fait une consultation via le routeur pour tous les noms "
"d'hôtes se finissant par '.i2p '.\n"
"Autrement, il fait suivre la requête vers un outproxy HTTP configuré.\n"
"Ainsi, en pratique, tout les les noms d'hôte (eepsite) HTTP doivent se "
"terminer avec le pseudo en domaine de niveau pseudo-supérieur '.i2p'."
#: i2p2www/pages/site/docs/naming.html:171
#, python-format
msgid ""
"We have <a href=\"%(i2ptld)s\">applied to reserve the .i2p TLD</a>\n"
"following the procedures specified in <a href=\"%(rfc6761)s\">RFC "
"6761</a>."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:177
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 ""
"Si le routeur échoue à résoudre le nom d'hôte, le proxy HTTP retourne\n"
"à l'utilisateur une page d'erreur avec des liens vers plusieurs services "
"de \"saut\".\n"
"Voir ci-dessous pour des détails."
#: i2p2www/pages/site/docs/naming.html:183
#: i2p2www/pages/site/docs/spec/configuration.html:184
msgid "Addressbook"
msgstr "Carnet d'adresses"
#: i2p2www/pages/site/docs/naming.html:184
msgid "Incoming Subscriptions and Merging"
msgstr "Abonnements entrants et fusion"
#: i2p2www/pages/site/docs/naming.html:186
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 ""
"L'application carnet d'adresses récupère\n"
"périodiquement les fichiers hosts.txt d'autres utilisateurs et\n"
"les mêle avec le hosts.txt local, après plusieurs contrôles.\n"
"Les conflits de nommage sont résolus sur une base premier-arrivé premier-"
"servi."
#: i2p2www/pages/site/docs/naming.html:194
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 ""
"S'abonner au fichier hosts.txt d'un autre utilisateur implique \n"
"leur donner une certaine quantité de confiance.\n"
"Vous ne voulez pas, par exemple, qu'ils 'détournent' un nouveau site\n"
"en entrant rapidement dans leur propre clé pour un nouveau site avant\n"
"de vous passer la nouvelle clé."
#: i2p2www/pages/site/docs/naming.html:202
msgid ""
"For this reason, the only subscription configured by\n"
"default is <code>http://i2p-projekt.i2p/hosts.txt "
"(http://udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p/hosts.txt)</code>,"
" \n"
"which contains a copy of the hosts.txt included\n"
"in the I2P release.\n"
"Users must configure additional subscriptions in their\n"
"local addressbook application (via subscriptions.txt or <a "
"href=\"#susidns\">SusiDNS</a>)."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:211
msgid "Some other public addressbook subscription links:"
msgstr "Quelques autres liens d'abonnement à des carnets d'adresses publics :"
#: i2p2www/pages/site/docs/naming.html:218
msgid ""
"The operators of these services may have various policies for listing "
"hosts.\n"
"Presence on this list does not imply endorsement."
msgstr ""
"Les opérateurs de ces services peuvent avoir des politiques diverses pour"
" inscrire des hôtes.\n"
"La présence dans cette liste n'implique pas approbation."
#: i2p2www/pages/site/docs/naming.html:223
#: i2p2www/pages/site/docs/naming.html:235
msgid "Naming Rules"
msgstr "Règles de nommage"
#: i2p2www/pages/site/docs/naming.html:224
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 ""
"Tandis qu'il n'y a par chance pas de limitations techniques dans I2P sur "
"les noms hôtes\n"
"le carnet d'adresses fait respecter plusieurs restrictions de noms hôtes\n"
"importés depuis des abonnements.\n"
"Il fait ceci pour la santé typographique basique et la compatibilité avec"
" les navigateurs,\n"
"et pour la sécurité.\n"
"Les règles sont essentiellement les mêmes que celles dans la RFC2396 "
"section 3.2.2.\n"
"Quelconque nom d'hôte violant ces règles ne peut pas être propagé\n"
"à d'autres routeurs."
#: i2p2www/pages/site/docs/naming.html:239
msgid "Names are converted to lower case on import."
msgstr "Les noms sont convertis en minuscule lors de l'importation."
#: i2p2www/pages/site/docs/naming.html:243
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 ""
"Les noms sont vérifiés contre le conflit avec des noms existants dans "
"userhosts.txt existant et hosts.txt\n"
"(mais pas privatehosts.txt) après conversion en minuscule."
#: i2p2www/pages/site/docs/naming.html:248
msgid "Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case."
msgstr ""
"Doivent contenir seulement [a-z] [0-9] '.' et '-' après conversion en "
"minuscules."
#: i2p2www/pages/site/docs/naming.html:252
msgid "Must not start with '.' or '-'."
msgstr "Ne doivent pas commencer avec '.' ni '-'."
#: i2p2www/pages/site/docs/naming.html:256
msgid "Must end with '.i2p'."
msgstr "Doivent terminer par 'i2p'."
#: i2p2www/pages/site/docs/naming.html:260
msgid "67 characters maximum, including the '.i2p'."
msgstr "67 caractères maximum, incluant le '.i2p'."
#: i2p2www/pages/site/docs/naming.html:264
msgid "Must not contain '..'."
msgstr "Ne doivent pas contenir '..'."
#: i2p2www/pages/site/docs/naming.html:268
msgid "Must not contain '.-' or '-.' (as of 0.6.1.33)."
msgstr "Ne doivent pas contenir '..' ou '-.' (depuis la 0.6.1.33)."
#: i2p2www/pages/site/docs/naming.html:272
msgid "Must not contain '--' except in 'xn--' for IDN."
msgstr "Ne doivent pas contenir '--' excepté dans 'xn--' pour IDN."
#: i2p2www/pages/site/docs/naming.html:276
msgid ""
"Base32 hostnames (*.b32.i2p) are reserved for base 32 use and so are not "
"allowed to be imported."
msgstr ""
"Les noms d'hôte Base32 (*.b32.i2p) sont réservés pour un usage en base 32"
" et par conséquent ne sont pas autorisés à être importés."
#: i2p2www/pages/site/docs/naming.html:280
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 ""
"Certains noms d'hôtes réservés pour l'usage du projet ne sont pas "
"autorisés\n"
"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, "
"*.console.i2p, et autres)"
#: i2p2www/pages/site/docs/naming.html:285
msgid "Keys are checked for base64 validity."
msgstr "Les clés sont vérifiées concernant la validité base64."
#: i2p2www/pages/site/docs/naming.html:289
msgid ""
"Keys are checked for conflict with existing keys in hosts.txt (but not "
"privatehosts.txt)."
msgstr ""
"Les clés sont vérifiées contre le conflit avec des clés existantes dans "
"hosts.txt (mais pas privatehosts.txt)."
#: i2p2www/pages/site/docs/naming.html:293
msgid "Minimum key length 516 bytes."
msgstr "Longueur minimum de clé : 516 octets."
#: i2p2www/pages/site/docs/naming.html:297
msgid "Maximum key length 616 bytes (to account for certs up to 100 bytes)."
msgstr ""
"Longueur maximum de clé : 616 octets (pour tenir compte des certs jusqu'à"
" 100 octets)."
#: i2p2www/pages/site/docs/naming.html:302
msgid ""
"Any name received via subscription that passes all the checks is added "
"via the local naming service."
msgstr ""
"N'importe quel nom, reçu via abonnement, qui passe tous les contrôles est"
" ajouté via le service de nommage local."
#: i2p2www/pages/site/docs/naming.html:306
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 ""
"Notez que les symboles '.' dans un nom hôte n'ont aucune signification\n"
"et ne dénotent pas de hiérarchie de nommage ni de confiance.\n"
"Si le nom 'host.i2p' existe déjà, il n'y a rien\n"
"pour empêcher quelqu'un d'ajouter un nom 'a.host.i2p' à son hosts.txt,\n"
"et ce nom pourra être importé par les carnets d'adresses d'autres "
"personnes.\n"
"Des méthodes pour refuser des sous-domaines aux 'propriétaires' de non-"
"domaines (des certificats ?)\n"
"et la désirabilité et la faisabilité de ces méthodes\n"
"sont sujets de discussions futures."
#: i2p2www/pages/site/docs/naming.html:317
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 ""
"Les noms de domaine internationaux (IDN) marchent aussi dans i2p "
"(utilisant le punycode de forme 'xn--').\n"
"Pour voir les noms de domaine IDN .i2p rendus correctement dans la barre "
"d'adresse de Firefox,\n"
"ajoutez 'network.IDN.whitelist.i2p (boolean) = true' dans about:config."
#: i2p2www/pages/site/docs/naming.html:323
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 ""
"Comme l'application carnet d'adresses n'utilise pas du tout "
"privatehosts.txt, en pratique\n"
"ce fichier est le seul endroit où il est approprié de placer des alias "
"privés ou\n"
"\"pet names\" pour des sites déjà présents dans hosts.txt."
#: i2p2www/pages/site/docs/naming.html:329
msgid "Outgoing Subscriptions"
msgstr "Abonnements sortants"
#: i2p2www/pages/site/docs/naming.html:330
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 ""
"Addressbook publiera les hosts.txt fusionnés à un emplacement\n"
"(traditionnellement hosts.txt dans le répertoire home de l'eepsite's "
"local) afin qu'il soit accessible par d'autres \n"
"pour leurs abonnements. \n"
"Cette étape est facultative et est désactivée par défaut."
#: i2p2www/pages/site/docs/naming.html:338
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 ""
"L'application carnet d'adresses, ensemble avec eepget, sauve l'Etag et-ou"
" l'informations de dernière-modication rendues par le serveur Web de "
"l'abonnement.\n"
"Ceci réduit grandement la bande passante exigée, car le serveur Web\n"
"va retourner un '304 non modifié' sur la prochaine récupération si rien "
"n'a changé."
#: i2p2www/pages/site/docs/naming.html:345
msgid ""
"However the entire hosts.txt is downloaded if it has changed.\n"
"See below for discussion on this issue."
msgstr ""
"Cependant hosts.txt est téléchargé en entier si il a changé.\n"
"Voir ci-dessous pour la discussion sur cette question."
#: i2p2www/pages/site/docs/naming.html:350
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 ""
"Les hôtes servant un hosts.txt statique ou une application CGI "
"équivalente\n"
"sont fortement encouragés à livrer\n"
"un en-tête de longueur de contenu, et soit une Etag ou une en-tête de "
"derniere modification.\n"
"Assurez aussi que le serveur livre 'un '304 non modifié' quand c'est "
"nécessaire.\n"
"Ceci réduira radicalement la bande passante de réseau et \n"
"réduira les risques de corruption."
#: i2p2www/pages/site/docs/naming.html:359
msgid "Host Add Services"
msgstr "Services d'ajout d'hôtes"
#: i2p2www/pages/site/docs/naming.html:360
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 ""
"Un service d'ajout d'hôte est une simple application CGI qui prend un nom"
" d'hôte et une clé en Base64 comme paramètres et ajoute cela à son "
"hosts.txt local.\n"
"Si d'autres routeurs s'abonnent à ce hosts.txt, le nouveau nom d'hôte ou "
"clé\n"
"seront propagés à travers le réseau."
#: i2p2www/pages/site/docs/naming.html:367
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 ""
"Il est recommandé que les services de nom d'hôte imposent, au minimum, "
"les restrictions imposées par la l'application carnet d'adresses inscrite"
" ci-dessus.\n"
"Les services d'ajout d'hôtes peuvent imposer des restrictions "
"supplémentaires de nom d'hôtes et de clés, par exemple :"
#: i2p2www/pages/site/docs/naming.html:372
msgid "A limit on number of 'subdomains'."
msgstr "Une limite concernant le nombre de 'sous-domaines'."
#: i2p2www/pages/site/docs/naming.html:376
msgid "Authorization for 'subdomains' through various methods."
msgstr "Autorisation de 'sous-domaines' à travers diverses méthodes."
#: i2p2www/pages/site/docs/naming.html:380
msgid "Hashcash or signed certificates."
msgstr "Certificats signés ou hashcash."
#: i2p2www/pages/site/docs/naming.html:384
msgid "Editorial review of host names and/or content."
msgstr "Examen éditorial des noms d'hôte et/ou du contenu."
#: i2p2www/pages/site/docs/naming.html:388
msgid "Categorization of hosts by content."
msgstr "Catégorisation par contenu des noms d'hôtes."
#: i2p2www/pages/site/docs/naming.html:392
msgid "Reservation or rejection of certain host names."
msgstr "Réservation ou rejet de certains noms hôtes."
#: i2p2www/pages/site/docs/naming.html:396
msgid "Restrictions on the number of names registered in a given time period."
msgstr "Restrictions sur le nombre de noms enregistrés durant une période donnée."
#: i2p2www/pages/site/docs/naming.html:400
msgid "Delays between registration and publication."
msgstr "Retards entre enregistrement et publication."
#: i2p2www/pages/site/docs/naming.html:404
msgid "Requirement that the host be up for verification."
msgstr "Exiger que l'hôte soit en ligne afin d'être vérifié."
#: i2p2www/pages/site/docs/naming.html:408
msgid "Expiration and/or revocation."
msgstr "Expiration et/ou révocation."
#: i2p2www/pages/site/docs/naming.html:412
msgid "IDN spoof rejection."
msgstr "Rejet d'usurpation IDN"
#: i2p2www/pages/site/docs/naming.html:417
msgid "Jump Services"
msgstr "Services de saut"
#: i2p2www/pages/site/docs/naming.html:418
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 "
"<code>?i2paddresshelper=key</code>\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 ""
"Un service de saut est une simple application CGI qui prend un nom d'hôte"
" comme paramètre\n"
"et retourne une redirection 301 redirigeant vers l'URL appropriée avec "
"une chaîne <code>?i2paddresshelper=key</code> ajoutée.\n"
"Le proxy HTTP va interpréter la chaîne ajoutée et\n"
"utiliser cette clé en tant que destination réelle.\n"
"De plus, le proxy va mettre cette clé en cache afin que\n"
"le carnet d'adresses ne soit plus nécessaire jusqu'au redémarrage."
#: i2p2www/pages/site/docs/naming.html:428
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 ""
"Notez que, comme avec les abonnements, utiliser un service de saut\n"
"implique une certaine quantité de confiance, car le un service de saut "
"pourrait\n"
"de façon malveillante rediriger un utilisateur vers une destination "
"incorrecte."
#: i2p2www/pages/site/docs/naming.html:434
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 ""
"Pour fournir le meilleur service, un service de saut devrait être abonné "
"à\n"
"plusieurs fournisseurs hosts.txt afin que sa liste d'hôtes locaux soit "
"actuelle."
#: i2p2www/pages/site/docs/naming.html:440
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 ""
"SusiDNS est simplement une interface Web frontale pour configurer les "
"abonnements de carnet d'adresses\n"
"et accéder aux quatre fichiers de carnet d'adresses.\n"
"Tout le travail réel est fait par l'application 'carnet d'adresses'."
#: i2p2www/pages/site/docs/naming.html:446
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 ""
"Actuellement, il y a peu d'exécutions des règles de nommage de carnet "
"d'adresses dans SusiDNS,\n"
"donc un utilisateur peut entrer des noms d'hôtes localement qui seraient "
"rejetés par\n"
"les règles d'abonnement de carnet d'adresses."
#: i2p2www/pages/site/docs/naming.html:452
msgid "Base32 Names"
msgstr "Noms Base32"
#: i2p2www/pages/site/docs/naming.html:453
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: "
"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
msgstr ""
"I2P supporte les noms d'hôte en Base32 semblables aux adresses .onion de "
"Tor.\n"
"Les adresses Base32 sont beaucoup plus courtes et plus faciles à "
"manipuler que les\n"
"destinations Base64 pleines à 516 caractères ou les aides d'adresse.\n"
"Exemple : "
"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
#: i2p2www/pages/site/docs/naming.html:460
#, python-format
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"
"Tor has recently published a\n"
"<a href=\"https://blog.torproject.org/blog/tor-weekly-news-%E2%80%94"
"-december-4th-2013\">proposal</a>\n"
"to convert to an identical format of {52 chars}.onion for their hidden "
"services.\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:475
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 ""
"Les adresses Base32 peuvent être utilisées dans la plupart des endroits "
"où noms d'hôte ou des destinations pleines sont utilisées, cependant il y"
" a quelques exceptions où elles peuvent échouer si le\n"
"nom n'est pas résolu immédiatement . I2PTunnel échouera, par exemple, si\n"
"le nom ne résout pas à une destination."
#: i2p2www/pages/site/docs/plugins.html:2
#: i2p2www/pages/site/docs/spec/configuration.html:152
msgid "Plugins"
msgstr "Plugins"
#: i2p2www/pages/site/docs/plugins.html:3
msgid "June 2012"
msgstr "Juin 2012"
#: i2p2www/pages/site/docs/plugins.html:6
msgid "General Information"
msgstr "Information générale"
#: i2p2www/pages/site/docs/plugins.html:7
msgid ""
"I2P includes a plugin architecture\n"
"to support easy development and installation of additional software."
msgstr ""
"I2P inclut une architecture de plugin\n"
"pour soutenir le développement facile et l'installation de logiciel "
"supplémentaire."
#: i2p2www/pages/site/docs/plugins.html:12
msgid ""
"There are now plugins available that support distributed email, blogs, "
"IRC\n"
"clients, distributed file storage, wikis, and more."
msgstr ""
"Il y a maintenant des plug-ins disponibles qui soutiennent courrier "
"électronique distribué, blogs, clients IRC,\n"
"stockage de fichiers distribué, wikis, et plus."
#: i2p2www/pages/site/docs/plugins.html:17
msgid "Benefits to i2p users and app developers:"
msgstr "Avantages aux utilisateurs i2p et développeurs d'app :"
#: i2p2www/pages/site/docs/plugins.html:22
msgid "Easy distribution of applications"
msgstr "Distribution facile d'applications"
#: i2p2www/pages/site/docs/plugins.html:26
msgid ""
"Allows innovation and use of additional libraries without worrying about\n"
"increasing the size of <code>i2pupdate.sud</code>"
msgstr ""
"Permet l'innovation et l'utilisation de bibliothèques supplémentaires "
"sans s'inquiéter de\n"
"l'augmentation de la taille de <code>i2pupdate.sud</code>"
#: i2p2www/pages/site/docs/plugins.html:31
msgid ""
"Support large or special-purpose applications that would never be bundled"
"\n"
"with the I2P installation"
msgstr ""
"Soutient les grandes applications ou à but particulier qui ne seraient "
"jamais empaquetées\n"
"avec l'installation I2P"
#: i2p2www/pages/site/docs/plugins.html:36
msgid "Cryptographically signed and verified applications"
msgstr "Applications vérifiées et signées cryptographiquement"
#: i2p2www/pages/site/docs/plugins.html:40
msgid "Automatic updates of applications, just like for the router"
msgstr "Mises à jour automatiques d'applications, comme pour le routeur"
#: i2p2www/pages/site/docs/plugins.html:44
msgid ""
"Separate initial install and update packages, if desired, for smaller "
"update downloads"
msgstr ""
"Sépare l'installation initiale et les paquets de mise à jour, si vous le "
"souhaitez, pour de plus petits téléchargements de mise à jour"
#: i2p2www/pages/site/docs/plugins.html:48
msgid ""
"One-click installation of applications. No more asking users to modify\n"
"<code>wrapper.config</code> or <code>clients.config</code>"
msgstr ""
"Installation d'applications en un clic. Il n'est plus demandé aux "
"utilisateurs de modifier\n"
"<code>wrapper.config</code> ou <code>clients.config</code>"
#: i2p2www/pages/site/docs/plugins.html:53
msgid "Isolate applications from the base <code>$I2P</code> installation"
msgstr "Isole les applications de l'installation <code>$I2P</code> de base"
#: i2p2www/pages/site/docs/plugins.html:57
msgid ""
"Automatic compatibility checking for I2P version, Java version, Jetty\n"
"version, and previous installed application version"
msgstr ""
"Vérification de compatibilité automatique de la version I2P, version "
"Java, version\n"
"Jetty, et de la version de l'application précédemment installée"
#: i2p2www/pages/site/docs/plugins.html:62
msgid "Automatic link addition in console"
msgstr "Addition automatique de lien dans la console"
#: i2p2www/pages/site/docs/plugins.html:66
msgid ""
"Automatic startup of application, including modifying classpath, without "
"requiring a restart"
msgstr ""
"Démarrage automatique de l'application, y compris modification classpath,"
" sans exiger un redémarrage"
#: i2p2www/pages/site/docs/plugins.html:70
msgid "Automatic integration and startup of webapps into console Jetty instance"
msgstr ""
"Intégration automatique et démarrage de webapps dans l'instance de la "
"console Jetty"
#: i2p2www/pages/site/docs/plugins.html:74
#, python-format
msgid ""
"Facilitate creation of 'app stores' like the one at\n"
"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
msgstr ""
"Facilite la création d' 'App Stores' comme celui-ci\n"
"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
#: i2p2www/pages/site/docs/plugins.html:79
msgid "One-click uninstall"
msgstr "Désinstallation en un clic"
#: i2p2www/pages/site/docs/plugins.html:83
msgid "Language and theme packs for the console"
msgstr "Packs de langue et de thème pour la console"
#: i2p2www/pages/site/docs/plugins.html:87
msgid "Bring detailed application information to the router console"
msgstr "Amène des informations détaillées d'application à la console de routeur"
#: i2p2www/pages/site/docs/plugins.html:91
msgid "Non-java applications also supported"
msgstr "Applications non Java également prises en charge"
#: i2p2www/pages/site/docs/plugins.html:97
msgid "Required I2P version"
msgstr "Version I2P requise"
#: i2p2www/pages/site/docs/plugins.html:98
msgid "0.7.12 or newer."
msgstr "0.7.12 ou plus récente."
#: i2p2www/pages/site/docs/plugins.html:100
msgid "Installation"
msgstr "Installation"
#: i2p2www/pages/site/docs/plugins.html:101
msgid ""
"To install and start a plugin, copy the <code>.xpi2p</code> install link "
"to\n"
"the form at the bottom of\n"
"<a "
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp"
" in\n"
"your router console</a> and click the \"install plugin\" button. After a"
"\n"
"plugin is installed and started, a link to the plugin will usually appear"
" at\n"
"the top of your summary bar."
msgstr ""
"Pour installer et démarrer un plug-in, copiez le lien d'installation "
"<code>.xpi2p</code> vers\n"
"le formulaire au bas de \n"
"<a "
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp"
" dans\n"
"votre console routeur</a> et cliquez le bouton \"installer le plug-in\". "
"Après que\n"
"le plug-in soit installé et démarré, un lien vers le plug-in apparaîtra "
"d'habitude en\n"
"haut de votre barre de sommaire."
#: i2p2www/pages/site/docs/plugins.html:110
msgid ""
"To update a plugin to the latest version, just click the update button on"
"\n"
"<a "
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>."
"\n"
"There is also a button to check if the plugin has a more recent version, "
"as\n"
"well as a button to check for updates for all plugins. Plugins will be "
"checked\n"
"for updates automatically when updating to a new I2P release (not "
"including dev\n"
"builds)."
msgstr ""
"Pour mettre à jour un plug-in vers la dernière version, cliquez juste sur"
" le bouton de mise à jour situé dans\n"
"<a "
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>."
"\n"
"Il y a aussi un bouton pour vérifier si le plug-in a une version plus "
"récente, ainsi\n"
"qu'un bouton pour vérifier les mises à jour de tous les plug-ins. "
"Concernant les mises à jour\n"
"les plug-ins seront vérifiés automatiquement lors de la mise à jour vers "
"une nouvelle version d'I2P (n'incluant pas les builds de dév)."
#: i2p2www/pages/site/docs/plugins.html:120
msgid "Development"
msgstr "Développement"
#: i2p2www/pages/site/docs/plugins.html:121
#, python-format
msgid ""
"See the latest <a href=\"%(pluginspec)s\">plugin specification</a> and "
"the\n"
"<a href=\"http://%(zzz)s/forums/16\">plugin forum</a> on %(zzz)s."
msgstr ""
"Voyez la plus récent <a href=\"%(pluginspec)s\">spécification de "
"plugin</a> et le\n"
"<a href=\"http://%(zzz)s/forums/16\">forum plugin</a> sur %(zzz)s."
#: i2p2www/pages/site/docs/plugins.html:126
#, python-format
msgid ""
"See also the sources for plugins developed by various people. Some "
"plugins, such\n"
"as <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, were "
"developed\n"
"specifically as examples."
msgstr ""
"Voir aussi les sources de plug-ins développése par diverses personnes. "
"Quelques plug-ins, tel\n"
"que <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, ont "
"été développés\n"
"spécifiquement comme exemples."
#: i2p2www/pages/site/docs/plugins.html:132
msgid ""
"<b>Developers wanted!</b> Plugins are a great way to learn more about I2P"
"\n"
"or easily add some feature."
msgstr ""
"<b>Développeurs recherchés !</b> Les plug-ins sont une super façon "
"d'apprendre au sujet d'I2P\n"
"ou d'ajouter facilement une fonctionnalité."
#: i2p2www/pages/site/docs/plugins.html:137
msgid "Getting Started"
msgstr "Commencer"
#: i2p2www/pages/site/docs/plugins.html:138
#, python-format
msgid ""
"To create a plugin from an existing binary package you will need to get\n"
"makeplugin.sh from <a href=\"%(url)s\">the i2p.scripts branch in "
"monotone</a>."
msgstr ""
"Pour créer un plug-in à partir d'un paquet de fichier binaire existant "
"vous aurez besoin d'obtenir\n"
"makeplugin.sh depuis <a href=\"%(url)s\">la branche i2p.scripts dans "
"monotone</a>."
#: i2p2www/pages/site/docs/plugins.html:144
msgid "Known Issues"
msgstr "Anomalies connues"
#: i2p2www/pages/site/docs/plugins.html:145
msgid ""
"Note that the router's plugin architecture does <b>NOT</b> currently\n"
"provide any additional security isolation or sandboxing of plugins."
msgstr ""
"Notez que l'architecture de plug-in du routeur ne fournit actuellement "
"<b>PAS</b>\n"
"de quelconque isolement de sécurité supplémentaire ni sandboxing de plug-"
"ins."
#: i2p2www/pages/site/docs/plugins.html:151
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 ""
"Les mises à jour d'un plug-in avec des jars (pas des wars) inclus ne "
"seront pas reconnues si\n"
"le plug-in était déjà en cours d'exécution, car il exige que l'astuce de "
"tromperie de classe chargeur vide la\n"
"classe cache; une redémarrage complet du routeur est exigé."
#: i2p2www/pages/site/docs/plugins.html:157
msgid "The stop button may be displayed even if there is nothing to stop."
msgstr "Le bouton d'arrêt peut être affiché même s'il n'y a rien à arrêter."
#: i2p2www/pages/site/docs/plugins.html:161
msgid ""
"Plugins running in a separate JVM create a <code>logs/</code> directory "
"in\n"
"<code>$CWD</code>."
msgstr ""
"Les plug-ins exécutés dans une JVM séparée créent un répertorie "
"<code>logs/</code> dans\n"
"<code>$CWD</code>."
#: i2p2www/pages/site/docs/plugins.html:166
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&mdash;there is no signing key authority."
msgstr ""
"Aucune clés initiales ne sont présentes, à part celles de jrandom et de "
"zzz (utilisant la\n"
"même clé que pour la mise à jour de routeur), ainsi la première clé vue "
"pour un signataire sera\n"
"automatiquement acceptée&mdash;il n'y a aucune autorité de signature de "
"clé."
#: i2p2www/pages/site/docs/plugins.html:172
msgid ""
"When deleting a plugin, the directory is not always deleted, especially "
"on\n"
"Windows."
msgstr ""
"Lors de la suppression d'un plug-in, le répertoire n'est pas toujours "
"supprimé, en particulier sur\n"
"Windows."
#: i2p2www/pages/site/docs/plugins.html:177
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 ""
"Installer un plug-in exigeant Java 1.6 sur une machine Java 1.5 aboutira "
"à\n"
"au message \"le plug-in est corrompu\" si le fichier est compressé en "
"pack200."
#: i2p2www/pages/site/docs/plugins.html:182
msgid "Theme and translation plugins are untested."
msgstr "Le thèmes et des plug-ins de traduction ne sont pas testés."
#: i2p2www/pages/site/docs/plugins.html:186
msgid "Disabling autostart doesn't always work."
msgstr "Désactiver le démarrage automatique ne marche pas toujours."
#: i2p2www/pages/site/docs/ports.html:2
msgid "Ports Used by I2P"
msgstr "Ports utilisés par I2P"
#: i2p2www/pages/site/docs/ports.html:3
msgid "May 2013"
msgstr "Mai 2013"
#: 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 ""
"Ce sont les ports utilisés ou réservés par I2P, y compris ceux pour les "
"plugins connus, \n"
"alternatifs communs,\n"
"et certaines applications liées typiques."
#: i2p2www/pages/site/docs/ports.html:13
#, python-format
msgid ""
"Note that many of these are not enabled by default.\n"
"There is more information in <a href=\"%(faq)s#ports\">the FAQ</a>.\n"
"See also the documentation for individual plugins.\n"
"Plugin authors please add any ports you use here.\n"
"For new plugins, we recommend using the next available port\n"
"in the 766x range."
msgstr ""
"Notez que la plupart d'entre eux ne sont pas activés par défaut.\n"
"Il y a davantage d'informations dans <a href=\"%(faq)s#ports\">la FAQ "
"</a>.\n"
"Voir aussi la documentation individuelle des plugins.\n"
"Auteurs de plugins veuillez ajouter dedans les ports que vous utilisez.\n"
"Pour les nouveaux plugins, nous vous recommandons d'utiliser le port "
"disponible suivant\n"
"au sein de la plage 766x."
#: i2p2www/pages/site/docs/ports.html:53
msgid "recommended spot for new plugins/applications"
msgstr "endroit recommandé pour de nouveaux plug-ins/applications"
#: i2p2www/pages/site/docs/api/bob.html:2
msgid "BOB - Basic Open Bridge"
msgstr "BOB - Basic Open Bridge (pont ouvert basique)"
#: i2p2www/pages/site/docs/api/bob.html:3
#: i2p2www/pages/site/docs/how/cryptography.html:3
#: i2p2www/pages/site/docs/protocol/i2cp.html:3
#: i2p2www/pages/site/docs/spec/updates.html:3
msgid "December 2014"
msgstr "Décembre 2014"
#: i2p2www/pages/site/docs/api/bob.html:12
msgid "Technical differences from SAM (for the better?)"
msgstr "Différences techniques en comparaison de SAM (pour le mieux ?)"
#: i2p2www/pages/site/docs/api/bob.html:14
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 ""
"BOB a des canaux séparés pour les commandes et les données.\n"
"L'un, une douille canal commande d'application vers le routeur pour "
"configurer.\n"
"Le deuxième, les douilles de données d'application vers/depuis le routeur"
" qui transportent seulement des données.\n"
"Le canal de commandes est seulement nécessaire pour faire ou mettre la "
"clé\n"
"initiale de destination, et pour mettre la clé de destination vers les "
"attaches de port.\n"
"Tous les connexions sont exécutées en parallèle."
#: i2p2www/pages/site/docs/api/bob.html:23
msgid ""
"SAM has one connection that does everything, and you need to parse every "
"packet."
msgstr ""
"SAM a un connexion qui fait tout et vous devez faire l'analyse syntaxique"
" de chaque paquet."
#: i2p2www/pages/site/docs/api/bob.html:27
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 ""
"BOB ne retient pas de valeurs de paires de clés, ni non plus le routeur."
" \n"
"Votre application détient les valeurs de paires de clés.\n"
"Ceci est fait pour éviter une complexité supplémentaire dans le code de "
"routeur, cela ajoute aussi\n"
"à votre vie privée."
#: i2p2www/pages/site/docs/api/bob.html:34
msgid "SAM router stores every keypair you ever make."
msgstr "Le routeur de SAM stocke chaque paire de clés que ferez."
#: i2p2www/pages/site/docs/api/bob.html:38
msgid "Those are the important differences."
msgstr "Celles-ci sont les différences importantes."
#: i2p2www/pages/site/docs/api/bob.html:42
msgid "<code>KEYS</code> = keypair public+private, these are BASE64"
msgstr "<code>KEYS</code> = paire de clés publique+privée, elles sont en BASE64"
#: i2p2www/pages/site/docs/api/bob.html:45
msgid "<code>KEY</code> = public key, also BASE64"
msgstr "<code>KEY</code> = clé publique, aussi en BASE64"
#: i2p2www/pages/site/docs/api/bob.html:48
msgid ""
"<code>ERROR</code> as is implied returns the message <code>\"ERROR "
"\"+DESCRIPTION+\"\\n\"</code>, where the <code>DESCRIPTION</code> is what"
" went wrong."
msgstr ""
"<code>ERROR</code> comme elle l'implique retourne le message "
"<code>\"ERROR \"+DESCRIPTION+\"\\n\"</code>, où la "
"<code>DESCRIPTION</code> est ce qui s'est mal passé."
#: i2p2www/pages/site/docs/api/bob.html:51
msgid ""
"<code>OK</code> returns <code>\"OK\"</code>, and if data is to be "
"returned, it is on the same line. <code>OK</code> means the command is "
"finished."
msgstr ""
"<code>OK</code> retourne <code>\"OK\"</code>, et si les données doivent "
"être rendues, il est sur la même ligne.<code>OK</code> signifie que la "
"commande est finie."
#: i2p2www/pages/site/docs/api/bob.html:54
msgid ""
"<code>DATA</code> lines contain information that you requested. There may"
" be multiple <code>DATA</code> lines per request."
msgstr ""
"<code>DATA</code> ces lignes contiennent les informations que vous avez "
"demandé. Il peut y avoir de multiples lignes <code>DATA</code> par "
"requête."
#: i2p2www/pages/site/docs/api/bob.html:58
msgid ""
"<b>NOTE:</b> 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 ""
"<b>NOTE :</b> la commande d'aide est la SEULE commande qui a une "
"exception aux\n"
"règles ... elle peut en réalité ne rien retourner ! Ceci est "
"intentionnel, sachant\n"
"que l'aide est un HUMAIN et pas une commande d'APPLICATION."
#: i2p2www/pages/site/docs/api/bob.html:64
msgid ""
"<b>PLEASE NOTE:</b>\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 ""
"<b>VEUILLEZ PRENDRE NOTE : </b>\n"
"Pour des détails ACTUELS sur les commandes VEILLEZ utiliser la commande "
"d'aide incorporée.\n"
"Juste telnet à localhost 2827 et tapez help et vous pourrez obtenir la "
"documentation complète sur chaque commande."
#: i2p2www/pages/site/docs/api/bob.html:70
msgid ""
"Commands never get obsoleted or changed, however new commands do get "
"added from time to time."
msgstr ""
"Les commandes ne seront jamais obsolètes ni changées, cependant de "
"nouvelles commandes sont ajoutées de temps en temps."
#: i2p2www/pages/site/docs/api/bob.html:74
msgid "Here are the commands we have as of this writing:"
msgstr "Voici les commandes que nous avons à partir de cette écriture :"
#: i2p2www/pages/site/docs/api/bob.html:79
msgid "COMMAND"
msgstr "COMMAND"
#: i2p2www/pages/site/docs/api/bob.html:79
msgid "OPERAND"
msgstr "OPERAND"
#: i2p2www/pages/site/docs/api/bob.html:79
msgid "RETURNS"
msgstr "RETURNS"
#: i2p2www/pages/site/docs/api/bob.html:107
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 ""
"Une configuré, toutes les douilles TCP peuvent et vont bloquer comme "
"nécessaire, et il n'y a aucun besoin de messages supplémentaires "
"vers/depuis le canal de commande. Ceci permet au routeur de marcher à pas"
" mesurés le flux sans exploser avec OOM comme SAM le fait si il "
"s'étrangle en tentant de pousser\n"
"beaucoup de flux dans ou hors d'une douille -- cela ne peut pas se mettre"
" à l'échelle quand vous avez beaucoup de connexions !"
#: i2p2www/pages/site/docs/api/bob.html:114
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 ""
"Ce qui est aussi agréable au sujet de cette interface particulière est "
"que écrire quoi que ce soit à l'interface,\n"
"est beaucoup beaucoup plus facile que SAM. Il n'y a aucun autre "
"traitement à faire après la configuration.\n"
"Sa configuration est si simple, que des outils très simples, comme nc "
"(netcat) peuvent être utilisés \n"
"pour pointer vers une certaine application. La valeur est là que l'on "
"pourrait prévoir en haut et en bas pour une application, et ne pas avoir "
"à changer l'application pour le faire, ou même avoir\n"
"à arrêter cette application. Au lieu de cela, vous pouvez littéralement "
"\"déconnecter\" la destination, et \n"
"quand vous rebrancherez de nouveau, l'application TCP normale ne s'en "
"souciera pas et ne le remarquera pas.\n"
"Elle sera simplement trompée -- les destinations ne sont pas accessibles,"
" et que rien n'entre."
#: i2p2www/pages/site/docs/api/bob.html:126
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 ""
"Pour l'exemple suivant, nous ferons une configuration très simple de "
"connexion loopback,\n"
"avec deux destinations. La destination \"bouche\" sera le service CHARGEN"
" depuis\n"
"le démon superserveur INET. La destination \"oreille\" sera un port local"
" auquel vous\n"
"pouvez vous connecter via telnet, et observer le joli dégueulis de test "
"d'ASCII."
#: i2p2www/pages/site/docs/api/bob.html:134
msgid "EXAMPLE SESSION DIALOGUE -- simple telnet 127.0.0.1 2827 works"
msgstr "DIALOGUE DE SESSION D'EXEMPLE - un simple telnet 127.0.0.1 2827 fonctionne"
#: i2p2www/pages/site/docs/api/bob.html:135
msgid "Application"
msgstr "Application"
#: i2p2www/pages/site/docs/api/bob.html:136
msgid "BOB's Command response."
msgstr "La réponse de commande de BOB."
#: i2p2www/pages/site/docs/api/bob.html:138
#: i2p2www/pages/site/docs/api/bob.html:150
#: i2p2www/pages/site/docs/api/bob.html:170
#: i2p2www/pages/site/docs/api/bob.html:278
#: i2p2www/pages/site/docs/api/bob.html:290
#: i2p2www/pages/site/docs/api/bob.html:305
msgid "FROM"
msgstr "FROM"
#: i2p2www/pages/site/docs/api/bob.html:138
#: i2p2www/pages/site/docs/api/bob.html:150
#: i2p2www/pages/site/docs/api/bob.html:170
#: i2p2www/pages/site/docs/api/bob.html:278
#: i2p2www/pages/site/docs/api/bob.html:290
#: i2p2www/pages/site/docs/api/bob.html:305
msgid "TO"
msgstr "TO"
#: i2p2www/pages/site/docs/api/bob.html:138
#: i2p2www/pages/site/docs/api/bob.html:150
#: i2p2www/pages/site/docs/api/bob.html:170
#: i2p2www/pages/site/docs/api/bob.html:278
#: i2p2www/pages/site/docs/api/bob.html:290
#: i2p2www/pages/site/docs/api/bob.html:305
msgid "DIALOGUE"
msgstr "DIALOGUE"
#: i2p2www/pages/site/docs/api/bob.html:145
msgid "MAKE NOTE OF THE ABOVE DESTINATION KEY, YOURS WILL BE DIFFERENT!"
msgstr "PRENEZ NOTE DE LA CLÉ DE DESTINATION CI-DESSUS, LA VÔTRE SERA DIFFÉRENTE !"
#: i2p2www/pages/site/docs/api/bob.html:159
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 <code>CHARGEN</code> service on <code>19/TCP</code>."
msgstr ""
"À ce point, il n'y a pas eu d'erreur, une destination avec le surnom "
"\"bouche\"\n"
"est configurée. Quand vous contactez la destination fournie, vous vous "
"connectez en réalité\n"
"au service <code>CHARGEN</code> sur le <code>19/TCP</code>."
#: i2p2www/pages/site/docs/api/bob.html:165
msgid "Now for the other half, so that we can actually contact this destination."
msgstr ""
"Maintenant pour l'autre moitié, afin que nous puissions réellement "
"contacter cette destination."
#: i2p2www/pages/site/docs/api/bob.html:185
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 ""
"Maintenant tout que nous avons à faire est d'utiliser telnet vers "
"127.0.0.1, port 37337\n"
"envoyer la clé de destination ou l'adresse d'hôte du carnet d'adresses "
"que nous voulons contacter.\n"
"Dans ce cas, nous voulons contacter la \"bouche\", tout ce que nous "
"faisons est de coller dedans\n"
"la clé et c'est parti."
#: i2p2www/pages/site/docs/api/bob.html:192
msgid ""
"<b>NOTE:</b> The \"quit\" command in the command channel does NOT "
"disconnect the tunnels like SAM."
msgstr ""
"<b>NOTE :</b> la commande \"quit\" dans le canal de commande ne débranche"
" PAS les tunnels comme le fait SAM."
#: i2p2www/pages/site/docs/api/bob.html:209
msgid "After a few virtual miles of this spew, press <code>Control-]</code>"
msgstr ""
"Après quelques km virtuels de ce vomissement, pressez "
"<code>Control-]</code>"
#: i2p2www/pages/site/docs/api/bob.html:221
msgid "Here is what happened..."
msgstr "Voici ce qui est arrivé..."
#: i2p2www/pages/site/docs/api/bob.html:229
msgid "You can connect to EEPSITES too!"
msgstr "Vous pouvez connecter aux EEPSITES aussi !"
#: i2p2www/pages/site/docs/api/bob.html:262
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 ""
"Assez cool n'est-ce pas ? Essayez aussi d'autres sites EEP bien connus si"
" vous voulez, des inexistants,\n"
"etc, pour obtenir une sensation de quel genre de sortie auquel s'attendre"
" selon des situations différentes.\n"
"Pour la plupart, il est vous est suggéré d'ignorer tous les messages "
"d'erreur.\n"
"Ils seraient vides de sens à l'application et sont seulement présentés "
"pour le débogage humain."
#: i2p2www/pages/site/docs/api/bob.html:269
msgid "Let's put down our destinations now that we are all done with them."
msgstr ""
"Allons poser nos destinations maintenant que nous avons terminé avec "
"elles."
#: i2p2www/pages/site/docs/api/bob.html:273
msgid "First, lets see what destination nicknames we have."
msgstr "D'abord, allons voir quels sont les surnoms de destination que nous avons."
#: i2p2www/pages/site/docs/api/bob.html:285
msgid "Alright, there they are. First, let's remove \"mouth\"."
msgstr "Bien, les voilà. D'abord, enlevons \"bouche\"."
#: i2p2www/pages/site/docs/api/bob.html:299
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 ""
"Maintenant enlevons \"oreille\", notez que c'est ce qui arrive quand vous"
" tapez trop vite,\n"
"et vous affiche ce à quoi ressemble un message ERROR typique."
#: i2p2www/pages/site/docs/api/bob.html:318
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 ""
"Je vous embêterais pas à vous montrer un exemple de récepteur de fin d'un"
" pont\n"
"parce que c'est très simple. Il y a deux réglages possibles pour cela, et"
"\n"
"on les bascule avec la commande \"quiet\"."
#: i2p2www/pages/site/docs/api/bob.html:324
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 ""
"Le par défaut n'est PAS calme, et la première donnée à entrer dans votre\n"
"douille d'écoute est la destination qui fait le contact. C'est une\n"
"simple ligne consistant de l'adresse BASE64 suivie par un retour à la "
"ligne.\n"
"Tout ce qui arrive après cela est pour l'application pour consommer en "
"réalité."
#: i2p2www/pages/site/docs/api/bob.html:331
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 ""
"En mode calme, pensez à cela comme une connexion régulière à Internet. "
"Pas\n"
"du tout de données supplémentaires n'entrent. C'est comme si vous étiez "
"connectés pleinement à\n"
"l'Internet régulier. Ce mode permet une forme de transparence semblable à"
" ce\n"
"qui est disponible sur les pages de paramètres de tunnel dans la console "
"routeur, afin que vous\n"
"puissiez utiliser BOB pour le diriger vers la destination d'un serveur "
"Web, par exemple, et\n"
"que vous n'ayez pas à modifier du tout le serveur Web."
#: i2p2www/pages/site/docs/api/bob.html:340
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 ""
"L'avantage avec l'utilisation de BOB pour ceci est comme discuté\n"
"précédemment. Vous pourriez planifier des périodes de fonctionnement "
"aléatoires pour l'application,\n"
"rediriger vers une machine différente, etc. Une utilisation de ceci peut "
"être quelque chose\n"
"comme vouloir essayer de faire une gaffe router-to-destination upness "
"guessing.\n"
"Vous pourriez arrêter et démarrer la destination avec un processus "
"totalement différent\n"
"pour faire aléatoire des mises en service et hors service. De cette façon"
" vous\n"
"arrêteriez seulement la capacité de contacter un tel service, et ne pas\n"
"avoir à se déranger à l'arrêter et le redémarrer. Vous pourriez rediriger"
"\n"
"et pointer vers une machine différente sur votre réseau local tandis que "
"vous faites des mises à jour, ou\n"
"pointez vers un ensemble de machines de secours selon ce qui fonctionne, "
"etc,\n"
"etc. Seule votre imagination limite ce que vous pourriez faire avec BOB."
#: i2p2www/pages/site/docs/api/datagrams.html:3
#: i2p2www/pages/site/docs/protocol/index.html:3
msgid "August 2010"
msgstr "Août 2010"
#: i2p2www/pages/site/docs/api/datagrams.html:6
msgid "Datagram Overview"
msgstr "Vue d'ensemble datagramme"
#: i2p2www/pages/site/docs/api/datagrams.html:7
#, python-format
msgid ""
"Datagrams build upon the base <a href=\"%(i2cp)s\">I2CP</a> to provide "
"authenticated\n"
"and repliable messages in a standard format. This lets applications "
"reliably read\n"
"the \"from\" address out of a datagram and know that the address really "
"sent the\n"
"message. This is necessary for some applications since the base I2P "
"message is\n"
"completely raw - it has no \"from\" address (unlike IP packets). In "
"addition, the\n"
"message and sender are authenticated by signing the payload."
msgstr ""
"Les datagrammes sont construits sur la base <a href=\"%(i2cp)s\">I2CP</a>"
" pour des messages\n"
"authentifiés et réflexibles dans un format standard. Ceci laisse les "
"applications lire de façon fiable\n"
"les adresses \"from\" à partir d'un datagramme et savoir que l'adresse a "
"vraiment envoyé le\n"
"message. Ceci est nécessaire pour quelques applications sachant que le "
"message base I2P est\n"
"complètement brut - il n'a pas d'adresse \"from\" (contrairement aux "
"paquets IP). De plus, le\n"
"message et l'expéditeur sont authentifiés en signant la charge utile."
#: i2p2www/pages/site/docs/api/datagrams.html:16
#, python-format
msgid ""
"Datagrams, like <a href=\"%(streaming)s\">streaming library packets</a>,\n"
"are an application-level construct.\n"
"These protocols are independent of the low-level <a "
"href=\"%(transports)s\">transports</a>;\n"
"the protocols are converted to I2NP messages by the router, and\n"
"either protocol may be carried by either transport."
msgstr ""
"Les datagrammes, tels que <a href=\"%(streaming)s\">streaming library "
"packets</a>,\n"
"sont consruits au niveau application.\n"
"Ces protocoles sont indépendants des <a "
"href=\"%(transports)s\">transports</a> de bas niveau; \n"
"les protocoles sont convertis en messages I2NP par le routeur, et\n"
"l'un ou l'autre protocole peut être transporté par l'un ou l'autre "
"transport."
#: i2p2www/pages/site/docs/api/datagrams.html:25
msgid "Application Guide"
msgstr "Guide application"
#: i2p2www/pages/site/docs/api/datagrams.html:26
#, python-format
msgid ""
"Applications written in Java may use the \n"
"<a href=\"%(url)s\">datagram API</a>,\n"
"while applications in other languages \n"
"can use <a href=\"%(sam)s\">SAM</a>'s datagram support.\n"
"There is also limited support in i2ptunnel in the <a "
"href=\"%(socks)s\">SOCKS proxy</a>,\n"
"the 'streamr' tunnel types, and udpTunnel classes."
msgstr ""
"Les applications écrites en Java peuvent utiliser\n"
"l'<a href=\"%(url)s\">API datagramme</a>,\n"
"tandis que les applications dans d'autres langages\n"
"peuvent utiliser le support datagramme de <a href=\"%(sam)s\">SAM</a>.\n"
"Il y a aussi un support limité dans i2ptunnel dans le <a "
"href=\"%(socks)s\">proxy SOCKS</a>,\n"
"les types de tunnel 'streamr', et classes udpTunnel."
#: i2p2www/pages/site/docs/api/datagrams.html:37
msgid "Datagram Length"
msgstr "Longueur de datagramme"
#: 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.\n"
"Over about 10 KB, the delivery probablility drops dramatically.\n"
"Messages over 16 KB cannot be delivered over NTCP, dropping delivery "
"chances even more."
msgstr ""
"Le concepteur d'application devrait considérer soigneusement la "
"différence entre des datagrammes réflexibles et non-réflexibles. Aussi, "
"la taille de datagramme affectera la fiabilité, en raison de la "
"fragmentation des messages de tunnel en taille de 1 Ko. Plus il y a de "
"fragments de message, plus il est probable que l'un d'entre eux sera "
"laissé tombé par une étape intermédiaire. On recommande des messages pas "
"plus grand que quelques KO. Au delà de 10 KO, la probabilité de livraison"
" diminue radicalement. Les messages de plus de 16 KO ne peuvent pas être"
" livrés via NTCP, laissant tomber encore davantage les chances de "
"livraison."
#: i2p2www/pages/site/docs/api/datagrams.html:47
#, python-format
msgid ""
"Also note that the various overheads added by lower layers, in particular"
" asymmetric\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES</a>, place a large burden on "
"intermittent messages\n"
"such as used by a Kademlia-over-UDP application. The implementations are "
"currently tuned\n"
"for frequent traffic using the streaming library. There are a high number"
"\n"
"of session tags delivered, and a short session tag lifetime, for example."
"\n"
"There are currently no configuration parameters available within I2CP to "
"tune\n"
"the ElGamal Session Tag parameters."
msgstr ""
"Notez aussi que les diverses en-têtes ajoutées par des couches "
"inférieures, en particulier <a href=\"%(elgamalaes)s\">ElGamal/AES</a> "
"asymétrique, placent un grand fardeau sur les messages intermittents tels"
" que ceux utilisés par une application Kademlia-par-dessus-UDP. Les mises"
" en œuvre sont actuellement ajustées pour du trafic fréquent utilisant la"
" bibliothèque streaming. Il y a un large nombre d'étiquettes de session "
"livrées, et l'étiquette de session a une courte durée de vie, par "
"exemple. Il n'y a actuellement aucun paramètre de configuration "
"disponible dans I2CP qui permettrait d'ajuster les paramètres d'étiquette"
" de session ElGamal."
#: i2p2www/pages/site/docs/api/datagrams.html:57
msgid "I2CP Protocol Number and Ports"
msgstr "Numéros de protocole et ports d'I2CP"
#: i2p2www/pages/site/docs/api/datagrams.html:58
msgid ""
"The standard I2CP protocol number for datagrams is PROTO_DATAGRAM (17).\n"
"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 ""
"Le numéro standard du protocole I2CP pour les datagrammes est "
"PROTO_DATAGRAM (17).\n"
"Les applications peuvent ou peuvent ne pas vouloir mettre le\n"
"protocole dans l'en-tête I2CP. Il n'est pas mis par défaut.\n"
"Il doit être mis pour dé-multiplexer le datagramme et le trafic streaming"
" reçu sur la même Destination."
#: i2p2www/pages/site/docs/api/datagrams.html:65
#, 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 <a href=\"%(i2cp)s#format\">I2CP page</a>."
msgstr ""
"Comme les datagrammes ne sont pas orientés-connexion, les applications "
"peuvent nécessiter\n"
"des numéros de port pour corréler des datagrammes avec des pairs "
"particuliers ou des sessions de communications,\n"
"comme c'est traditionnel avec UDP sur IP.\n"
"Les applications peuvent ajouter les ports 'from' et 'to' à l'en-tête "
"d'I2CP (gzip) comme décrit dans\n"
"la <a href=\"%(i2cp)s#format\">page I2CP</a>."
#: i2p2www/pages/site/docs/api/datagrams.html:73
#, python-format
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 should be used by the application to\n"
"indicate datagram type.\n"
"The I2CP protocol numbers PROTO_DATAGRAM (signed) and PROTO_DATAGRAM_RAW "
"are defined in the\n"
"<a href=\"%(i2psession)s\">I2PSession API</a>\n"
"for this purpose. A common design pattern in client/server datagram "
"applications is to\n"
"use signed datagrams for a request which includes a nonce, and use a raw "
"datagram\n"
"for the reply, returning the nonce from the request."
msgstr ""
"Il n'y a aucune méthode dans l'API de datagramme pour spécifier si c'est "
"un réflexible ou un non-réflexible (brut). L'application devrait être "
"conçue pour s'attendre au type approprié. Le numéro de protocole I2CP et "
"le port devraient être utilisés par l'application pour indiquer le type "
"de datagramme. Les numéros de protocole PROTO_DATAGRAM (signé) et "
"PROTO_DATAGRAM_RAW sont définis dans l'<a href=\"%(i2psession)s\">l'API "
"I2PSession</a> à cette fin. Un modèle de design commun dans les "
"applications de datagramme client/serveur est d'utiliser des datagrammes "
"signés pour une requête qui inclue une occasion, et utiliser un "
"datagramme brut pour la réponse, retournant l'occasion depuis la "
"requête."
#: i2p2www/pages/site/docs/api/datagrams.html:85
#, python-format
msgid ""
"The protocols and ports may be set in I2CP's\n"
"<a href=\"%(i2psession)s\">I2PSession API</a>,\n"
"as implemented in\n"
"<a href=\"%(i2psessionmuxed)s\">I2PSessionMuxedImpl</a>."
msgstr ""
"Les protocoles et les ports peuvent être mis dans l'\n"
"<a href=\"%(i2psession)s\">API I2PSession</a> d'I2CP,\n"
"comme implémenté dans\n"
"<a href=\"%(i2psessionmuxed)s\">I2PSessionMuxedImpl</a>."
#: i2p2www/pages/site/docs/api/datagrams.html:93
#: i2p2www/pages/site/docs/api/streaming.html:381
msgid "Data Integrity"
msgstr "Intégrité des données"
#: i2p2www/pages/site/docs/api/datagrams.html:94
#, python-format
msgid ""
"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
"There is no checksum field in the datagram protocol."
msgstr ""
"L'intégrité des données est assurée par la somme de contrôle gzip CRC-32 "
"mise en œuvre dans \n"
"<a href=\"%(i2cp)s#format\">la couche I2CP</a>.\n"
"Il n'y a aucun champ de somme de contrôle dans le protocole de datagramme."
#: i2p2www/pages/site/docs/api/datagrams.html:100
#: i2p2www/pages/site/docs/api/streaming.html:389
msgid "Packet Encapsulation"
msgstr "Encapsulation de paquet"
#: i2p2www/pages/site/docs/api/datagrams.html:101
#, python-format
msgid ""
"Each datagram is sent through I2P as a single message (or as an "
"individual clove in a\n"
"<a href=\"%(garlicrouting)s\">Garlic Message</a>).\n"
"Message encapsulation is implemented in the underlying\n"
"<a href=\"%(i2cp)s\">I2CP</a>,\n"
"<a href=\"%(i2np)s\">I2NP</a>, and\n"
"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers.\n"
"There is no packet delimiter mechanism or length field in the datagram "
"protocol."
msgstr ""
"Chaque datagramme est envoyé à travers I2P comme un simple message (ou "
"comme un clou de girofle individuel dans un\n"
"<a href=\"%(garlicrouting)s\">Message Ail</a>).\n"
"L'encapsulation de message est mise en œuvre dans les couches sous-"
"jacentes\n"
"<a href=\"%(i2cp)s\">I2CP</a>,\n"
"<a href=\"%(i2np)s\">I2NP</a>, et\n"
"<a href=\"%(tunnelmessage)s\">message tunnel</a>.\n"
"Il n'y a aucun mécanisme délimiteur de paquet ni de longueur de champ "
"dans le protocole de datagramme."
#: i2p2www/pages/site/docs/api/datagrams.html:114
#: i2p2www/pages/site/docs/spec/datagrams.html:10
#: i2p2www/pages/site/docs/transport/ssu.html:619
msgid "Specification"
msgstr "Spécification"
#: i2p2www/pages/site/docs/api/datagrams.html:116
msgid "See the Datagrams Specification page."
msgstr "Voir la page de spécification des datagrammes."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:2
msgid "I2PControl - Remote Control Service"
msgstr "I2PControl - Service de contrôle à distance"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:4
#, python-format
msgid ""
"I2P enables a <a href=\"http://en.wikipedia.org/wiki/JSON-"
"RPC\">JSONRPC2</a> interface via the plugin <a "
"href=\"%(itoopie)s\">I2PControl</a>.\n"
"The aim of the interface is to provide simple way to interface with a "
"running I2P node. A client, itoopie, has been developed in parallel.\n"
"The JSONRPC2 implementation for the client as well as the plugin is "
"provided by the java libraries <a href=\"http://software.dzhuvinov.com"
"/json-rpc-2.0.html\">JSON-RPC 2.0</a>. \n"
"A list of implementations of JSON-RPC for various languages can be found "
"at <a href=\"http://json-rpc.org/wiki/implementations\">the JSON-RPC "
"wiki</a>."
msgstr ""
"I2P permet une interface <a href=\"http://en.wikipedia.org/wiki/JSON-"
"RPC\">JSONRPC2</a> via le plugin <a href=\"%(itoopie)s\">I2PControl</a>."
"\n"
"Le but de l'interface est de fournir une façon simple d'interfacer avec "
"une noeud I2P en cours de fonctionnement. Un client, itoopie, a été "
"développé en parallèle.\n"
"L'implémentation JSONRPC2 pour le client ainsi que le plugin sont "
"fournies par les bibliothèques Java <a "
"href=\"http://software.dzhuvinov.com/json-rpc-2.0.html\">JSON-RPC "
"2.0</a>.\n"
"Une liste des implémentations de JSON-RPC pour divers langages peut être "
"trouvée sur <a href=\"http://json-rpc.org/wiki/implementations\">le wiki "
"JSON-RPC</a>."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:11
msgid "I2PControl is by default listening on localhost:7650"
msgstr "I2PControl écoute sur localhost:7650 par défaut"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:13
msgid "API, version 1."
msgstr "API, version 1."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:14
msgid "Parameters are only provided in a named way (maps)."
msgstr "Les paramètres sont seulement fournis selon la façon nommée (maps)."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:18
msgid "JSON-RPC 2 format"
msgstr "Format JSON-RPC 2"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:20
#: i2p2www/pages/site/docs/api/i2pcontrol.html:26
#: i2p2www/pages/site/docs/api/i2pcontrol.html:39
#: i2p2www/pages/site/docs/api/i2pcontrol.html:49
#: i2p2www/pages/site/docs/api/i2pcontrol.html:58
#: i2p2www/pages/site/docs/api/i2pcontrol.html:68
#: i2p2www/pages/site/docs/api/i2pcontrol.html:83
#: i2p2www/pages/site/docs/api/i2pcontrol.html:136
#: i2p2www/pages/site/docs/api/i2pcontrol.html:153
msgid "Request:"
msgstr "Requête :"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:22
#: i2p2www/pages/site/docs/api/i2pcontrol.html:31
#: i2p2www/pages/site/docs/api/i2pcontrol.html:43
#: i2p2www/pages/site/docs/api/i2pcontrol.html:53
#: i2p2www/pages/site/docs/api/i2pcontrol.html:63
#: i2p2www/pages/site/docs/api/i2pcontrol.html:74
#: i2p2www/pages/site/docs/api/i2pcontrol.html:100
#: i2p2www/pages/site/docs/api/i2pcontrol.html:144
#: i2p2www/pages/site/docs/api/i2pcontrol.html:168
msgid "Response:"
msgstr "Réponse :"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:25
#: i2p2www/pages/site/docs/api/i2pcontrol.html:27
#: i2p2www/pages/site/docs/api/i2pcontrol.html:28
#: i2p2www/pages/site/docs/api/i2pcontrol.html:32
#: i2p2www/pages/site/docs/api/i2pcontrol.html:33
#: i2p2www/pages/site/docs/protocol/i2cp.html:108
#: i2p2www/pages/site/docs/protocol/i2cp.html:483
#: i2p2www/pages/site/docs/spec/common-structures.html:41
#: i2p2www/pages/site/docs/spec/common-structures.html:51
#: i2p2www/pages/site/docs/spec/common-structures.html:62
#: i2p2www/pages/site/docs/spec/common-structures.html:74
#: i2p2www/pages/site/docs/spec/common-structures.html:89
#: i2p2www/pages/site/docs/spec/common-structures.html:102
#: i2p2www/pages/site/docs/spec/common-structures.html:115
#: i2p2www/pages/site/docs/spec/common-structures.html:128
#: i2p2www/pages/site/docs/spec/common-structures.html:167
#: i2p2www/pages/site/docs/spec/common-structures.html:206
#: i2p2www/pages/site/docs/spec/common-structures.html:245
#: i2p2www/pages/site/docs/spec/common-structures.html:257
#: i2p2www/pages/site/docs/spec/common-structures.html:269
#: i2p2www/pages/site/docs/spec/common-structures.html:281
#: i2p2www/pages/site/docs/spec/common-structures.html:446
#: i2p2www/pages/site/docs/spec/common-structures.html:534
#: i2p2www/pages/site/docs/spec/common-structures.html:600
#: i2p2www/pages/site/docs/spec/common-structures.html:669
#: i2p2www/pages/site/docs/spec/common-structures.html:714
#: i2p2www/pages/site/docs/spec/common-structures.html:844
#: i2p2www/pages/site/docs/spec/common-structures.html:911
msgid "Description"
msgstr "Description"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:29
msgid ""
"Token used for authenticating every request (excluding the 'Authenticate'"
" RPC method)"
msgstr ""
"Le jeton utilisé pour authentifier chaque requête (excluant la méthode "
"'Authenticate' de RPC)"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:37
msgid "Implemented methods"
msgstr "Méthodes implémentées"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:38
msgid ""
"Creates and returns an authentication token used for further "
"communication."
msgstr ""
"Crée et retourne un jeton d'identification utilisé pour une future "
"communication."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:40
msgid "The version of the I2PControl API used by the client."
msgstr "La version de l'API I2PControl utilisée par le client."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:41
msgid "The password used for authenticating against the remote server."
msgstr "Le mot de passe utilisé pour authentifier envers le serveur distant."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:44
msgid "The primary I2PControl API version implemented by the server."
msgstr "La version d'API I2PControl primaire implémentée par le serveur."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:45
msgid "The token used for further communication."
msgstr "Le jeton utilisé pour une future communication."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:48
msgid "Echoes the value of the echo key, used for debugging and testing."
msgstr ""
"Renvoie en écho la valeur de la clé echo, utilisée pour déboguer et "
"tester."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:50
msgid "Value will be returned in response."
msgstr "La valeur sera rendue en réponse."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:51
#: i2p2www/pages/site/docs/api/i2pcontrol.html:61
#: i2p2www/pages/site/docs/api/i2pcontrol.html:72
#: i2p2www/pages/site/docs/api/i2pcontrol.html:98
#: i2p2www/pages/site/docs/api/i2pcontrol.html:142
msgid ""
"Token used for authenticating the client. Is provided by the server via "
"the 'Authenticate' RPC method."
msgstr ""
"Jeton utilisé pour authentifier le client. Il est fournit par le serveur "
"via la méthode RPC 'Authenticate'."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:54
msgid "Value of the key 'echo' in the request."
msgstr "Valeur de la clé 'echo' dans la requête."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:57
msgid ""
"Fetches rateStat from router statManager. Creates stat if not already "
"created."
msgstr ""
"Va chercher rateStat depuis le statManager du routeur. Crée stat s'il "
"n'est pas déjà créé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:59
#, python-format
msgid ""
"Determines which rateStat to fetch, see <a "
"href=\"%(ratestats)s\">ratestats</a>."
msgstr ""
"Détermine à quel rateStat récupérer, voir <a "
"href=\"%(ratestats)s\">ratestats</a>."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:60
msgid "Determines which period a stat is fetched for. Measured in ms."
msgstr "Détermine durant quelle période une stat est récupérée. Mesuré en ms."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:64
msgid "Returns the average value for the reuested rateStat and period."
msgstr "Rend la valeur moyenne pour la rateStat demandée et la période."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:67
msgid "Manages I2PControl. Ports, passwords and the like."
msgstr "Gère I2PControl. Ports, mots de passe et d'autres de ce genre"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:69
msgid ""
"Sets a new listen address for I2PControl (only 127.0.0.1 and 0.0.0.0 are "
"implemented in I2PControl currently)."
msgstr ""
"Met en place une nouvelle adresse d'écoute pour I2PControl (seules "
"127.0.0.1 et 0.0.0.0 est actuellement mises en œuvre dans I2PControl)."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:70
msgid ""
"Sets a new password for I2PControl, all Authentication tokens will be "
"revoked."
msgstr ""
"Met un nouveau mot de passe à I2PControl, tous les jetons "
"d'authentification seront révoqués."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:71
msgid "Switches which port I2PControl will listen for connections on."
msgstr "Bascule le port sur lequel I2PControl écoutera les connexions."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:75
msgid "Returned if address was changed"
msgstr "Rendu si l'adresse a été changée"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:76
#: i2p2www/pages/site/docs/api/i2pcontrol.html:77
msgid "Returned if setting was changed"
msgstr "Rendu si l'arrangement a été changé"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:78
msgid "Returns true if any changes were made."
msgstr "Retourne vrai si un quelconque changement a été fait."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:79
msgid "Returns true if any changes requiring a restart to take effect were made."
msgstr ""
"Retourne vrai si un quelconque changement nécessitant un redémarrage pour"
" prendre effet a été fait. "
#: i2p2www/pages/site/docs/api/i2pcontrol.html:82
msgid "Fetches basic information about the I2P router. Uptime, version etc."
msgstr ""
"Va chercher des informations de base au sujet du routeur I2P. Temps de "
"fonctionnement, version etc."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:101
msgid "What the status of the router is."
msgstr "Quel est le statut du routeur."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:102
msgid "What the uptime of the router is in ms."
msgstr "Quel est le temps de fonctionnement du routeur en ms."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:103
msgid "What version of I2P the router is running."
msgstr "Quelle version d'I2P le routeur exécute."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:104
msgid "The 1 second average inbound bandwidth in Bps."
msgstr "La moyenne sur 1 seconde de bande passante arrivante en Bps."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:105
msgid "The 15 second average inbound bandwidth in Bps."
msgstr "La moyenne sur 15 secondes de bande passante arrivante en Bps."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:106
msgid "The 1 second average outbound bandwidth in Bps."
msgstr "La moyenne sur 1 seconde de bande passante sortante en Bps."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:107
msgid "The 15 second average outbound bandwidth in Bps."
msgstr "La moyenne sur 15 secondes de bande passante sortante en Bps."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:108
msgid "What the current network status is. According to the below enum:"
msgstr "Quel est le statut actuel du réseau. Selon l'enum ci-dessous :"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:127
msgid "How many tunnels on the I2P net are we participating in."
msgstr "À combien de tunnels participons-nous sur le réseau I2P."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:128
msgid "How many peers have we communicated with recently."
msgstr "Avec combien de pairs avons-nous communiqué récemment."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:129
msgid "How many peers are considered 'fast'."
msgstr "Combien de pairs sont considérés 'rapides'."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:130
msgid "How many peers are considered 'high capacity'."
msgstr "Combien de pairs sont considérés 'haute capacité'."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:131
msgid "Is the router reseeding hosts to its NetDB?"
msgstr "Le routeur ré-essaime-t-il des hôtes vers son NetDB ?"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:132
msgid "How many peers are known to us (listed in our NetDB)."
msgstr "Combien de pairs nous sont connus (listés dans notre NetDB)."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:135
msgid "Manages I2P router restart/shutdown."
msgstr "Gère le redémarrage/arrêt du routeur I2P."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:137
msgid ""
"Initiates a router reseed, fetching peers into our NetDB from a remote "
"host."
msgstr ""
"Amorce un ré-essaimage de routeur, en récupérant des pairs depuis un hôte"
" distant vers notre NetDB."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:138
msgid "Restarts the router."
msgstr "Redémarre le routeur."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:139
msgid ""
"Restarts the router gracefully (waits for participating tunnels to "
"expire)."
msgstr ""
"Redémarre le routeur gracieusement (attend l'expiration des tunnels de "
"participation)."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:140
msgid "Shuts down the router."
msgstr "Arrête le routeur."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:141
msgid ""
"Shuts down the router gracefully (waits for participating tunnels to "
"expire)."
msgstr ""
"Arrête le routeur gracieusement (attend l'expiration des tunnels de "
"participation)."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:145
msgid "If requested, verifies that a reseed has been initiated."
msgstr "Si demandé, vérifie qu'un ré-essaimage a été amorcé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:146
msgid "If requested, verifies that a restart has been initiated."
msgstr "Si demandé, vérifie qu'un redémarrage a été amorcé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:147
msgid "If requested, verifies that a graceful restart has been initiated."
msgstr "Si demandé, vérifie qu'un redémarrage gracieux a été amorcé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:148
msgid "If requested, verifies that a shutdown has been initiated"
msgstr "Si demandé, vérifie qu'un arrêt a été amorcé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:149
msgid "If requested, verifies that a graceful shutdown has been initiated"
msgstr "Si demandé, vérifie qu'un arrêt gracieux a été amorcé."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:152
msgid "Fetches or sets various network related settings. Ports, addresses etc."
msgstr "Récupère ou met divers paramètres liés au réseau. Ports, adresses etc."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:154
msgid ""
"What port is used for the TCP transport. If null is submitted, current "
"setting will be returned."
msgstr ""
"Quel port est utilisé pour le transport de TCP. Si nul est soumis, le "
"réglage actuel sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:155
msgid ""
"What hostname is used for the TCP transport. If null is submitted, "
"current setting will be returned."
msgstr ""
"Quel nom d'hôte est utilisé pour le transport de TCP. Si nul est soumis, "
"le réglage courant sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:156
msgid ""
"Use automatically detected ip for TCP transport. If null is submitted, "
"current setting will be returned."
msgstr ""
"Utilise l'IP détectée automatiquement pour le transport de TCP. Si une "
"valeur nulle est soumise, c'est le réglage actuel sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:157
msgid ""
"What port is used for the UDP transport. If null is submitted, current "
"setting will be returned."
msgstr ""
"Quel port est utilisé pour le transport d'UDP. Si une valeur nulle est "
"soumise, c'est le réglage actuel qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:158
msgid ""
"What hostname is used for the UDP transport. If null is submitted, "
"current setting will be returned."
msgstr ""
"Quel est lke nom d'hôte utilisé pour le transport d'UDP. Si une valeur "
"nulle est soumise, c'est le réglage actuel qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:159
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 ""
"Quelles sont les méthodes qui devraient être utilisées pour détecter "
"l'adresse IP du transport UDP. Si une valeur nulle est soumise, c'est le "
"réglage actuel qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:160
msgid "What ip has been detected by the UDP transport."
msgstr "Quelle IP a été détectée par le transport UDP."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:161
msgid "Is UPnP enabled. If null is submitted, current setting will be returned."
msgstr ""
"UPnP est-il permis. Si une valeur nulle est soumise, c'est le réglage "
"actuel qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:162
msgid ""
"How many percent of bandwidth is usable for participating tunnels. If "
"null is submitted, current setting will be returned."
msgstr ""
"Quel est le pourcentage de bande passante utilisable pour des tunnels de "
"participation. Si une valeur nulle est soumise, c'est le réglage courant "
"qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:163
msgid ""
"How many KB/s of inbound bandwidth is allowed. If null is submitted, "
"current setting will be returned."
msgstr ""
"Combien de KO/s de bande passante entrante sont autorisés. Si une valeur "
"nulle est soumise, c'est le réglage courant qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:164
msgid ""
"How many KB/s of outbound bandwidth is allowed. If null is submitted, "
"current setting will be returned."
msgstr ""
"Combien de KO/s de bande passante sortante sont autorisés. Si une valeur "
"nulle est soumise, c'est le réglage courant qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:165
msgid ""
"Is laptop mode enabled (change router identity and UDP port when IP "
"changes ). If null is submitted, current setting will be returned."
msgstr ""
"Le mode ordinateur portable est-il activé (change l'identité routeur et "
"le port UDP lorsque l'IP change). Si une valeur nulle est soumise, c'est "
"le réglage courant qui sera rendu."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:166
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:169
msgid "If requested, returns the port used for the TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:170
msgid "If requested, returns the hostname used for the TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:171
msgid ""
"If requested, returns the method used for automatically detecting ip for "
"the TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:172
msgid "If requested, returns the port used for the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:173
msgid "If requested, returns the hostname used for the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:174
msgid ""
"If requested, returns methods used for detecting the ip address of the "
"UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:175
msgid "If requested, returns what ip has been detected by the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:176
msgid "If requested, returns the UPNP setting."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:177
msgid ""
"If requested, returns how many percent of bandwidth is usable for "
"participating tunnels."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:178
msgid "If requested, returns how many KB/s of inbound bandwidth is allowed."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:179
msgid "If requested, returns how many KB/s of outbound bandwidth is allowed."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:180
msgid "If requested, returns the laptop mode."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:181
msgid "Have the provided settings been saved."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:182
msgid "Is a restart needed for the new settings to be used."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:185
msgid "denotes an optional value."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:186
msgid "denotes a possibly occuring return value"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:188
msgid "Error codes"
msgstr "Codes d'erreur"
#: i2p2www/pages/site/docs/api/i2pcontrol.html:189
msgid "Standard JSON-RPC2 error codes."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:190
msgid "JSON parse error."
msgstr "JSON erreur d'analyse syntaxique."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:191
msgid "Invalid request."
msgstr "Requête invalide."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:192
msgid "Method not found."
msgstr "Méthode non trouvée."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:193
msgid "Invalid parameters."
msgstr "Paramètres invalides."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:194
msgid "Internal error."
msgstr "Erreur interne."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:196
msgid "I2PControl specific error codes."
msgstr "I2PControl codes d'erreur spécifiques."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:197
msgid "Invalid password provided."
msgstr "Mot de passe fourni invalide."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:198
msgid "No authentication token presented."
msgstr "Aucun jeton d'identification présenté."
#: i2p2www/pages/site/docs/api/i2pcontrol.html:199
msgid "Authentication token doesn't exist."
msgstr "Le jeton d'identification n'existe pas."
#: 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:12
#, 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 <a "
"href=\"%(naming)s\">hostname</a>,\n"
"<a href=\"%(naming)s#base32\">Base32</a>, or a full 516-byte destination "
"key.\n"
"An established I2PTunnel will be available on your client machine as "
"localhost:port.\n"
"If you wish to provide a service on I2P network, you simply create "
"I2PTunnel to the\n"
"appropriate ip_address:port. A corresponding 516-byte destination key "
"will be generated\n"
"for the service and it will become avaliable throughout I2P.\n"
"A web interface for I2PTunnel management is avaliable on\n"
"<a "
"href=\"http://localhost:7657/i2ptunnel/\">localhost:7657/i2ptunnel/</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:24
msgid "Default Services"
msgstr "Services par défaut"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:25
msgid "Server tunnels"
msgstr "Tunnels de serveur"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:27
msgid ""
"<b>I2P Webserver</b> - A tunnel pointed to a Jetty webserver run\n"
"on <a href=\"http://localhost:7658\">localhost:7658</a> for convenient "
"and quick hosting on I2P.\n"
"<br>The document root is:"
msgstr ""
"<b>I2P Webserver</b> - un tunnel pointant vers un serveur web Jetty "
"exécuté\n"
"sur <a href=\"http://localhost:7658\">localhost:7658</a> pour héberger "
"sur I2P de façon commode et rapide.\n"
"<br>La racine de document est :"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:35
msgid "Client tunnels"
msgstr "Tunnels de client "
#: i2p2www/pages/site/docs/api/i2ptunnel.html:37
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 ""
"Un proxy HTTP utilisé pour naviguer sur I2P et l'Internet régulier "
"anonymement à travers I2P. \n"
"Naviguer sur Internet à travers I2P utilise un proxy aléatoire spécifié "
"par l'option \"Outproxies :\"."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:41
msgid "An IRC tunnel to the default anonymous IRC network, Irc2P."
msgstr "Un tunnel IRC vers le réseau IRC anonyme par défaut, Irc2P."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:42
#, python-format
msgid ""
"The anonymous <a href=\"%(monotone)s\">monotone</a>\n"
"sourcecode repository for I2P"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:46
#, python-format
msgid ""
"A SMTP service provided by postman at <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
msgstr ""
"Un service de SMTP fourni par postman à <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:49
#, python-format
msgid ""
"The accompanying POP sevice of postman at <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
msgstr ""
"Le service POP d'accompagnement de postman à <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:54
msgid "Configuration"
msgstr "Configuration"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:58
msgid "Client Modes"
msgstr "Modes client"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:59
#: i2p2www/pages/site/docs/api/i2ptunnel.html:141
msgid "Standard"
msgstr "Standard"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:60
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 ""
"Ouvre un port TCP local qui connecte à un service (tel que HTTP, FTP ou "
"SMTP) sur une destination à l'intérieur d'I2P.\n"
"Le tunnel est dirigé vers un hôte aléatoire à partir de la liste de "
"destinations séparées par une virgule (\",\")."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:66
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 ""
"Un tunnel client-HTTP. Le tunnel connecte à la destination indiquée par "
"l'URL\n"
"d'une requête HTTP. Supporte le proxying sur Internet si un outproxy est "
"fourni. Déshabille les connexions HTTP des en-têtes suivantes :"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:71
msgid ""
"<b>Accept, Accept-Charset, Accept-Encoding, Accept-Language\n"
" and Accept-Ranges</b> as they vary greatly between browsers and can be "
"used as an identifier."
msgstr ""
"<b>Accept, Accept-Charset, Accept-Encoding, Accept-Language\n"
"and Accept-Ranges</b> car elles varient grandement entre les navigateurs "
"et peuvent être utilisées comme un identifiant."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:79
msgid ""
"HTTP client/server tunnels are via I2Ptunnel force-enabling compression "
"via the following http headers:"
msgstr ""
"Les tunnels de client/serveur HTTP sont via la compression forcée-permise"
" par I2Ptunnel via les en-têtes http suivantes :"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:86
msgid ""
"Depending on if the tunnel is using an outproxy or not it will append the"
" following User-Agent:"
msgstr ""
"Selon si le tunnel utilise un outproxy ou pas il ajoutera le User-Agent "
"suivant :"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:90
msgid "Outproxy:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:91
msgid "Internal I2P use:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:96
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:100
msgid "Whitelist:"
msgstr "Liste blanche:"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:115
msgid "Enables using the I2P router as a SOCKS proxy."
msgstr "Permet l'utilisation du routeur I2P en tant que proxy SOCKS."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:120
msgid ""
"Enables using the I2P router as a SOCKS proxy with the command whitelist "
"specified by\n"
"<a href=\"#client-mode-irc\">IRC</a> client mode."
msgstr ""
"Permet l'utilisation du routeur I2P en tant que proxy SOCKS avec la "
"commande whitelist spécifiée par \n"
"mode client <a href=\"#client-mode-irc\">IRC</a>."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:126
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 ""
"Crée un tunnel HTTP et utilise la méthode de requête HTTP \"CONNECT\"\n"
"pour construire un tunnel TCP qui d'habitude est utilisé pour SSL et "
"HTTPS."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:132
msgid ""
"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr "
"client tunnel will \n"
"subscribe to a streamr server tunnel."
msgstr ""
"Crée un serveur-UDP attaché à un client Streamr I2PTunnel. Le tunnel "
"client streamr va\n"
"souscrire à un tunnel serveur streamr."
#: i2p2www/pages/site/docs/api/i2ptunnel.html:140
msgid "Server Modes"
msgstr "Modes serveur"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:142
msgid "Creates a destination to a local ip:port with an open TCP port."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:147
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:153
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:160
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:166
msgid ""
"A UDP-client that connects to a media server is created. The UDP-Client "
"is coupled with a Streamr server I2PTunnel."
msgstr ""
"Un client-UDP qui se connecte à un serveur media est créé. Le client-UDP "
"est couplé avec un serveur Streamr I2PTunnel."
#: 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 "Note"
#: i2p2www/pages/site/docs/api/ministreaming.html:7
#, python-format
msgid ""
"The ministreaming library has been enhanced and extended by the\n"
"\"full\" <a href=\"%(streaming)s\">streaming library</a>.\n"
"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 <a href=\"%(api)s\">API documentation</a> 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"
"<a href=\"%(i2cp)s\">I2CP</a> that allows reliable, in order, and "
"authenticated streams\n"
"of messages to operate across an unreliable, unordered, and "
"unauthenticated \n"
"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"
"<a href=\"%(i2ptunnel)s\">I2PTunnel</a> application and then factored out"
" and released\n"
"under the BSD license. It is called the \"mini\"streaming library "
"because it makes\n"
"some simplifications in the implementation, while a more robust streaming"
" library\n"
"could be further optimized for operation over I2P. The two main issues "
"with \n"
"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 <a href=\"%(minwww)s\">significant</a>. As "
"for the window\n"
"size, the ministreaming library doesn't maintain any ID or ordering "
"within the \n"
"messages sent (or include any application level ACK or SACK), so it must "
"wait \n"
"on average twice the time it takes to send a message before sending "
"another."
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 <a href=\"%(api)s\">API</a>\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"
"<a href=\"%(samv3)s\">SAM</a>'s streaming support."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:4
msgid "SOCKS and SOCKS proxies"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:5
msgid ""
"\n"
"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 <a href=\"%(faq)s#socks\">FAQ</a>:"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:15
msgid ""
"Many applications leak sensitive\n"
"information that could identify you on the Internet. I2P only filters\n"
"connection data, but if the program you intend to run sends this\n"
"information as content, I2P has no way to protect your anonymity. For\n"
"example, some mail applications will send the IP address of the machine\n"
"they are running on to a mail server. There is no way for I2P to filter\n"
"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 <a href=\"%(meeting81)s\">Meeting 81</a> and\n"
"<a href=\"%(meeting82)s\">Meeting 82</a> in March 2004."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:69
msgid "If You Do Get Something Working"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:70
msgid ""
"Please let us know. And please provide substantial warnings about the\n"
"risks of socks proxies."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:3
#: i2p2www/pages/site/docs/spec/geoip.html:3
msgid "December 2013"
msgstr "Décembre 2013"
#: i2p2www/pages/site/docs/api/streaming.html:8
#, python-format
msgid ""
"The streaming library is technically part of the \"application\" layer,\n"
"as it is not a core router function.\n"
"In practice, however, it provides a vital function for almost all\n"
"existing I2P applications, by providing a TCP-like\n"
"streams over I2P, and allowing existing apps to be easily ported to I2P.\n"
"The other end-to-end transport library for client communication is the\n"
"<a href=\"%(datagrams)s\">datagram library</a>."
msgstr ""
"La bibliothèque streaming (flux en temps réel) fait techniquement partie "
"de la couche \"d'application\",\n"
"car ce n'est pas une fonction principale du routeur.\n"
"En pratique, cependant, elle fournit une fonction essentielle pour "
"presque toutes\n"
"les applications I2P existantes, en fournissant des flux semblables à TCP"
"\n"
"à travers I2P, et en permettant aux applications existantes d'être "
"facilement portées vers I2P.\n"
"L'autre bibliothèque de transport bout-à-bout pour la communication "
"client est la\n"
"<a href=\"%(datagrams)s\">bibliothèque datagramme</a>."
#: i2p2www/pages/site/docs/api/streaming.html:18
#, python-format
msgid ""
"The streaming library is a layer on top of the core \n"
"<a href=\"%(i2cp)s\">I2CP API</a> that allows reliable, in-order, and "
"authenticated streams\n"
"of messages to operate across an unreliable, unordered, and "
"unauthenticated \n"
"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 ""
"La bibliothèque streaming est une couche au-dessus du cœur\n"
"<a href=\"%(i2cp)s\">API I2CP</a> qui permet à des flux de messages "
"fiables, ordonnés, et authentifiés d'opérer à travers une couche message "
"incertaine, non ordonné, et non authentifiée. Tout comme la relation "
"entre TCP et IP, cette fonctionnalité\n"
"streaming a une série entière de différences et des optimisations "
"disponibles, mais\n"
"plutôt qu'inclure cette fonctionnalité dans le code de base d'I2P, il a "
"été choisi de la garder\n"
"dans sa propre bibliothèque à la fois pour se tenir à l'écart des "
"complexités TCP-esques et pour permettre des implémentations optimisées "
"alternatives."
#: 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 ""
"La bibliothèque streaming est\n"
"une bibliothèque robuste\n"
"qui est optimisée pour opérer sur I2P.\n"
"Elle a une configuration en un phase, et\n"
"elle contient une mise en œuvre plein fenêtrage (full windowing)."
#: i2p2www/pages/site/docs/api/streaming.html:58
msgid "API"
msgstr "API"
#: 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 <a href=\"%(i2cp)s\">I2CP</a> API is completely hidden, "
"except that\n"
"applications may pass <a href=\"%(i2cp)s#options\">I2CP parameters</a> "
"through the\n"
"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"
"<a href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a> to create an\n"
"<a href=\"%(i2psktm)s\">I2PSocketManager</a>. The application then asks "
"the\n"
"socket manager for an <a href=\"%(i2psess)s\">I2PSession</a>, which will "
"cause\n"
"a connection to the router via <a href=\"%(i2cp)s\">I2CP</a>. The "
"application\n"
"can then setup connections with an <a href=\"%(i2pskt)s\">I2PSocket</a> "
"or\n"
"receive connections with an <a href=\"%(i2psskt)s\">I2PServerSocket</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:82
#, python-format
msgid "Here are the <a href=\"%(url)s\">full streaming library Javadocs</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:86
msgid "For a good example of usage, see the i2psnark code."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:91
msgid "Options and Defaults"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:92
#, python-format
msgid ""
"The options and current default values are listed below.\n"
"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"
"<a "
"href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a>.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 <a href=\"%(samv3)s\">SAM</a>,\n"
"<a href=\"%(bob)s\">BOB</a>, and <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,"
"\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:103
#: i2p2www/pages/site/docs/protocol/i2cp.html:478
msgid "Option"
msgstr "Option"
#: i2p2www/pages/site/docs/api/streaming.html:117
#: i2p2www/pages/site/docs/protocol/i2cp.html:107
#: i2p2www/pages/site/docs/protocol/i2cp.html:482
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:83
#: i2p2www/pages/site/docs/spec/common-structures.html:155
#: i2p2www/pages/site/docs/spec/common-structures.html:194
#: i2p2www/pages/site/docs/spec/common-structures.html:233
#: i2p2www/pages/site/docs/spec/common-structures.html:311
#: i2p2www/pages/site/docs/spec/common-structures.html:476
#: i2p2www/pages/site/docs/spec/common-structures.html:583
#: i2p2www/pages/site/docs/spec/common-structures.html:703
#: i2p2www/pages/site/docs/spec/common-structures.html:803
#: i2p2www/pages/site/docs/spec/common-structures.html:885
#: i2p2www/pages/site/docs/spec/common-structures.html:990
#: i2p2www/pages/site/docs/spec/datagrams.html:30
#: i2p2www/pages/site/docs/spec/datagrams.html:93
#: i2p2www/pages/site/docs/spec/updates.html:319
msgid "Notes"
msgstr "Notes"
#: 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:140
#: i2p2www/pages/site/docs/api/streaming.html:152
#: i2p2www/pages/site/docs/api/streaming.html:163
#: i2p2www/pages/site/docs/api/streaming.html:192
#: i2p2www/pages/site/docs/api/streaming.html:200
#: i2p2www/pages/site/docs/api/streaming.html:220
#: i2p2www/pages/site/docs/api/streaming.html:237
#: i2p2www/pages/site/docs/api/streaming.html:249
#: i2p2www/pages/site/docs/api/streaming.html:255
#: i2p2www/pages/site/docs/api/streaming.html:261
#: i2p2www/pages/site/docs/api/streaming.html:275
#: i2p2www/pages/site/docs/api/streaming.html:282
#: i2p2www/pages/site/docs/api/streaming.html:289
#: i2p2www/pages/site/docs/api/streaming.html:314
#: i2p2www/pages/site/docs/api/streaming.html:321
#: i2p2www/pages/site/docs/api/streaming.html:328
#, 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:145
msgid "Whether to respond to incoming pings"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:157
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:167
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:171
msgid ""
"When we're in congestion avoidance, we grow the window size at the rate\n"
"of <code>1/(windowSize*factor)</code>. 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:178
msgid ""
"How long to wait after instantiating a new con \n"
"before actually attempting to connect. If this is\n"
"&lt;= 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:186
msgid ""
"How long to block on connect, in milliseconds. Negative means "
"indefinitely. Default is 5 minutes."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:190
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:196
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:204
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:212
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:217
msgid ""
"Initial timeout\n"
"(if no <a href=\"#sharing\">sharing data</a> available)."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:224
msgid ""
"Initial round trip time estimate\n"
"(if no <a href=\"#sharing\">sharing data</a> available).\n"
"Disabled as of release 0.9.8; uses actual RTT."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:230
msgid "if no <a href=\"#sharing\">sharing data</a> available"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:230
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:242
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:247
msgid "Incoming connection limit (per peer; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:253
#: i2p2www/pages/site/docs/api/streaming.html:259
msgid "(per peer; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:265
msgid "The MTU in bytes."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:269
msgid "Maximum number of retransmissions before failure."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:273
msgid "Incoming connection limit (all peers; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:279
#: i2p2www/pages/site/docs/api/streaming.html:286
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:295
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:300
msgid "How long to block on read, in milliseconds. Negative means indefinitely."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:304
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:311
#: i2p2www/pages/site/docs/api/streaming.html:318
#: i2p2www/pages/site/docs/api/streaming.html:325
msgid ""
"Ref: RFC 2140. Floating point value.\n"
"May be set only via context properties, not connection options."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:332
msgid ""
"How long to block on write/flush, in milliseconds. Negative means "
"indefinitely."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:340
#: i2p2www/pages/site/docs/spec/streaming.html:10
msgid "Protocol Specification"
msgstr "Spécifications du protocole"
#: i2p2www/pages/site/docs/api/streaming.html:342
msgid "See the Streaming Library Specification page."
msgstr ""
"Voyez la page Spécifications de bibliothèque streaming (Streaming Library"
" Specification)."
#: i2p2www/pages/site/docs/api/streaming.html:346
msgid "Implementation Details"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:348
msgid "Setup"
msgstr "Paramétrage"
#: i2p2www/pages/site/docs/api/streaming.html:349
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:354
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:361
msgid "MTU Selection and Negotiation"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:362
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:371
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:382
#, python-format
msgid ""
"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
"There is no checksum field in the streaming protocol."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:390
#, python-format
msgid ""
"Each packet is sent through I2P as a single message (or as an individual "
"clove in a\n"
"<a href=\"%(garlicrouting)s\">Garlic Message</a>). Message encapsulation "
"is implemented\n"
"in the underlying <a href=\"%(i2cp)s\">I2CP</a>, <a "
"href=\"%(i2np)s\">I2NP</a>, and\n"
"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers. There is no "
"packet delimiter\n"
"mechanism or payload length field in the streaming protocol."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:400
msgid "Windowing"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:401
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:408
msgid "Close"
msgstr "Fermer"
#: i2p2www/pages/site/docs/api/streaming.html:409
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:417
msgid ""
"There is no ping function at the I2CP layer (equivalent to ICMP echo) or "
"in datagrams.\n"
"This function is provided in streaming.\n"
"Pings and pongs may not be combined with a standard streaming packet;\n"
"if the ECHO option is set, then\n"
"most other flags, options, ackThrough, sequenceNum, NACKs, payload, etc. "
"are ignored."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:425
msgid ""
"A ping packet must have the ECHO, SIGNATURE_INCLUDED, and FROM_INCLUDED "
"flags set.\n"
"The sendStreamId must be greater than zero, and the receiveStreamId is "
"ignored.\n"
"The sendStreamId may or may not correspond to an existing connection."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:431
msgid ""
"A pong packet must have the ECHO flag set.\n"
"The sendStreamId must be zero, and the receiveStreamId is the "
"sendStreamId from the ping.\n"
"The pong packet does not include any payload that was contained in the "
"ping."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:437
msgid ""
"Streaming may be configured to disable sending pongs with the "
"configuration i2p.streaming.answerPings=false."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:442
msgid "Control Block Sharing"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:443
msgid ""
"The streaming lib supports \"TCP\" Control Block sharing.\n"
"This shares three important streaming lib parameters\n"
"(window size, round trip time, round trip time variance)\n"
"across connections to the same remote peer.\n"
"This is used for \"temporal\" sharing at connection open/close time,\n"
"not \"ensemble\" sharing during a connection (See\n"
"<a href=\"http://www.ietf.org/rfc/rfc2140.txt\">RFC 2140</a>).\n"
"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.\n"
"The following Control Block Sharing parameters can be set per router:"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:464
msgid "Other Parameters"
msgstr "Autres paramètres"
#: i2p2www/pages/site/docs/api/streaming.html:465
msgid ""
"The following parameters are hardcoded, but may be of interest for "
"analysis:"
msgstr ""
"Les paramètres suivants sont codés en dur, mais peuvent être intéressants"
" pour analyse :"
#: i2p2www/pages/site/docs/api/streaming.html:484
#: i2p2www/pages/site/docs/how/network-database.html:860
msgid "History"
msgstr "Historique"
#: i2p2www/pages/site/docs/api/streaming.html:485
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:499
#: i2p2www/pages/site/docs/how/elgamal-aes.html:344
#: i2p2www/pages/site/docs/how/garlic-routing.html:254
#: i2p2www/pages/site/docs/how/network-database.html:865
#: 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:718
#: i2p2www/pages/site/docs/protocol/i2np.html:226
#: i2p2www/pages/site/docs/spec/updates.html:554
#: i2p2www/pages/site/docs/transport/ntcp.html:544
#: i2p2www/pages/site/docs/transport/ssu.html:554
#: i2p2www/pages/site/docs/tunnels/implementation.html:506
msgid "Future Work"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:500
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:506
msgid "Additional tuning of the streaming lib parameters may be necessary."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:509
#, python-format
msgid ""
"Another area for research is the interaction of the streaming lib with "
"the\n"
"NTCP and SSU transport layers.\n"
"See <a href=\"%(ntcpdisc)s\">the NTCP discussion page</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:514
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:524
msgid "The data in the first SYN packet may exceed the receiver's MTU."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:527
msgid "The DELAY_REQUESTED field could be used more."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:530
msgid ""
"Duplicate initial SYNCHRONIZE packets on short-lived streams may not be "
"recognized and removed."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:533
msgid "Don't send the MTU in a retransmission."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:536
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:541
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:546
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
msgid "May 2014"
msgstr "Mai 2014"
#: 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"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>,\n"
"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"are 387+ bytes, so the Base 64 is 516+ bytes.\n"
"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"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>, as "
"described above.\n"
"Trackers generally append \".i2p\" to the Base 64 Destination if it "
"wasn't in the announce ip, for compatibility with older clients.\n"
"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"
"<a href=\"%(commonstructures)s#type_Hash\">32-byte SHA-256 Hashes</a>\n"
"of the binary\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"of the peers.\n"
"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&#37;."
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"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>\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"
"<a href=\"%(naming)s\">I2P naming standards</a>.\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 <a "
"href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\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"
"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension "
"handshake</a>.\n"
"It contains a bencoded dictionary with up to 3 keys, \"added\", "
"\"added.f\", and \"dropped\".\n"
"The added and dropped values are each a single byte string, whose length "
"is a multiple of 32 bytes.\n"
"These byte strings are the concatenated SHA-256 Hashes of the binary\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"of the peers.\n"
"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"
"<a href=\"http://www.bittorrent.org/beps/bep_0005.html\">BEP 5</a>\n"
"are described below, and are subject to change.\n"
"Contact the I2P developers if you wish to develop a client supporting DHT."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:226
msgid ""
"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"
"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension "
"handshake</a>.\n"
"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", "
"both integers."
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:286
msgid "Datagram (UDP) Trackers"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:287
msgid ""
"UDP tracker support in clients and trackers is not yet available.\n"
"Preliminary differences from\n"
"<a href=\"http://www.bittorrent.org/beps/bep_0015.html\">BEP 15</a>\n"
"are described below, and are subject to change.\n"
"Contact the I2P developers if you wish to develop a client or tracker "
"supporting datagram announces."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:295
msgid ""
"A UDP tracker listens on two ports.\n"
"The \"query port\" is the advertised port, and is used to receive "
"repliable (signed) datagrams, for the connect request only.\n"
"The \"response port\" is used to receive unsigned (raw) datagrams, and is"
" the source port for all replies.\n"
"The response port is arbitrary.\n"
"A client sends and receives on a single port only.\n"
"It receives only unsigned (raw) datagrams.\n"
"Raw datagrams provides increased efficiency for replies since they "
"contain tokens sent in the query, and need not be signed."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:305
msgid ""
"In the announce request, the 4-byte IP is replaced by a 32-byte hash, and"
" the port is still present,\n"
"although it may be ignored by the tracker.\n"
"In the announce response, each 4-byte IP and 2-byte port is replaced by a"
" 32-byte hash (compact peer info), and no port is present.\n"
"The client sends the announce request and scrape request to the source "
"port in the announce response packet.\n"
"The connect request, connect response, scrape request, scrape response, "
"and error response are the same as in BEP 15."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:313
msgid ""
"Source addresses in I2P cannot be spoofed, so it is possible to use a "
"simplified protocol\n"
"with 2 packets instead of 4, omitting the connect request and response.\n"
"In this case, the announce request would be a repliable datagram sent to "
"the tracker's query port,\n"
"and the tracker would not require a response port.\n"
"While this is more efficient, it would be more difficult to modify an "
"existing tracker to support this mode.\n"
"The URL for the 4-packet-mode tracker would use standard \"udp://\" "
"prefix. \n"
"The URL for a modified 2-packet-mode tracker would require a different "
"prefix if both modes are supported in I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:326
#: i2p2www/pages/site/docs/how/intro.html:184
msgid "Additional Information"
msgstr "Plus d'infos"
#: i2p2www/pages/site/docs/applications/bittorrent.html:328
#, python-format
msgid ""
"I2P bittorrent standards are generally discussed on <a "
"href=\"http://%(zzz)s/\">%(zzz)s</a>."
msgstr ""
"Les discussions concernant les standards Bittorrent dans I2P se font "
"généralement sur <a href=\"http://%(zzz)s/\">%(zzz)s</a>."
#: i2p2www/pages/site/docs/applications/bittorrent.html:331
#, python-format
msgid ""
"A chart of current tracker software capabilities is <a "
"href=\"http://%(zzz)s/files/trackers.html\">also available there</a>."
msgstr ""
"Un diagramme des capacités du logiciel traqueur actuel est <a "
"href=\"http://%(zzz)s/files/trackers.html\">aussi disponible ici</a>."
#: i2p2www/pages/site/docs/applications/bittorrent.html:334
#, python-format
msgid ""
"The\n"
"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P bittorrent FAQ</a>"
msgstr ""
"La\n"
"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">FAQ bittorrent I2P</a>"
#: i2p2www/pages/site/docs/applications/bittorrent.html:338
#, python-format
msgid "<a href=\"http://%(zzz)s/topics/812\">DHT on I2P discussion</a>"
msgstr "<a href=\"http://%(zzz)s/topics/812\">Discussion DHT sur I2P</a>"
#: i2p2www/pages/site/docs/applications/embedding.html:2
msgid "Embedding I2P in your Application"
msgstr "Embarquer I2P dans votre application"
#: i2p2www/pages/site/docs/applications/embedding.html:8
msgid ""
"This page is about bundling the entire I2P router binary with your "
"application.\n"
"It is not about writing an application to work with I2P (either bundled "
"or external)."
msgstr ""
"Cette page est au sujet de l'empaquetage dans votre application du "
"binaire du routeur I2P en entier.\n"
"Cette page n'est pas au sujet de l'écriture d'une application compatible "
"avec I2P (ni empaqueté ni externe)."
#: i2p2www/pages/site/docs/applications/embedding.html:13
msgid ""
"Lots of projects are bundling, or talking about bundling, I2P. That's "
"great if done right.\n"
"If done wrong, it could cause real harm to our network.\n"
"The I2P router is complex, and it can be a challenge to hide all the "
"complexity from your users.\n"
"This page discusses some general guidelines."
msgstr ""
"Beaucoup de projets empaquettent, ou parlent d'empaqueter I2P. C'est "
"super si cela est bien fait.\n"
"Si cela est mal fait, cela pourrait causer beaucoup de mal à notre "
"réseau.\n"
"Le routeur I2P est complexe et cela peut se révéler être un défi de "
"cacher toute cette complexité à vos utilisateurs.\n"
"Cette page discute de quelques directives générales."
#: i2p2www/pages/site/docs/applications/embedding.html:23
msgid "Talk to us"
msgstr "Parlez-nous"
#: i2p2www/pages/site/docs/applications/embedding.html:24
msgid ""
"Start a dialog. We're here to help. Applications that embed I2P are the "
"most promising - and exciting -\n"
"opportunities for us to grow the network and improve anonymity for "
"everyone."
msgstr ""
"Commencez un dialogue. Nous sommes ici pour aider. Les applications qui "
"embarquent I2P sont les plus prometteuses - et passionnantes - occasions "
"pour nous de faire croître le réseau et d'améliorer l'anonymat pour tout "
"le monde."
#: i2p2www/pages/site/docs/applications/embedding.html:30
msgid "Choose your router wisely"
msgstr "Choisissez votre routeur de façon avisée"
#: i2p2www/pages/site/docs/applications/embedding.html:31
msgid ""
"If your application is in Java or Scala, it's an easy choice - use the "
"Java router.\n"
"If in C/C++, we recommend i2pd. The development of i2pcpp has stopped.\n"
"For apps in other languages, best to use SAM or BOB or SOCKS and bundle "
"the Java router as a separate process.\n"
"Some of the following only applies to the Java router."
msgstr ""
"Si votre application est en Java ou en Scala, le choix est facile - "
"utilisez le routeur Java.\n"
"Si elle est en C/C ++, nous recommandons i2pd. Le développement d'i2pcpp "
"s'est arrêté.\n"
"Pour des apps écrites dans d'autres languages, il est mieux d'utiliser "
"SAM ou BOB ou SOCKS et empaqueter le routeur Java comme processus séparé."
"\n"
"Certaines des choses suivantes s'appliquent seulement au routeur Java."
#: i2p2www/pages/site/docs/applications/embedding.html:39
msgid "Licensing"
msgstr "Octroi de licence"
#: i2p2www/pages/site/docs/applications/embedding.html:40
msgid "Ensure you meet the license requirements of the software you are bundling."
msgstr ""
"Assurez que vous respectez les exigences de licence du logiciel que vous "
"empaquetez."
#: i2p2www/pages/site/docs/applications/embedding.html:45
msgid "Verify default configuration"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:46
msgid ""
"A correct default configuration is crucial. Most users will not change "
"the defaults.\n"
"The defaults for your application may need to be different than the "
"defaults for the router you are bundling.\n"
"Override the router defaults if necessary."
msgstr ""
"Une configuration correcte par défaut est cruciale. La plupart des "
"utilisateurs ne changeront pas paramètres mis par défaut.\n"
"Les paramètres par défauts pour votre application peuvent devoir être "
"différents de ceux utilisés par défauts pour le routeur que vous "
"empaquetez.\n"
"Ignorez les paramètres par défauts du routeur si nécessaire."
#: i2p2www/pages/site/docs/applications/embedding.html:51
msgid ""
"Some important defaults to review: Max bandwidth, tunnel quantity and "
"length, max participating tunnels.\n"
"A lot of this depends on the expected bandwidth and usage patterns of "
"your app."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:55
msgid ""
"Configure enough bandwidth and tunnels to allow your users to contribute "
"to the network.\n"
"Consider disabling external I2CP, as you probably don't need it and it "
"would conflict with any other running I2P instance.\n"
"Also look at the configs for disabling killing of the JVM on exit, for "
"example."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:62
msgid "Participating Traffic Considerations"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:63
msgid ""
"It may be tempting for you to disable participating traffic.\n"
"There's several ways to do this (hidden mode, setting max tunnels to 0, "
"setting shared bandwidth below 12 KBytes/sec).\n"
"Without participating traffic, you don't have to worry about graceful "
"shutdown,\n"
"your users don't see bandwidth usage not generated by them, etc.\n"
"However, there's lots of reasons why you should allow participating "
"tunnels."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:70
msgid ""
"First of all, the router doesn't work that well if it doesn't have a "
"chance to \"integrate\" with the network,\n"
"which is helped tremendously by others building tunnels through you."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:74
msgid ""
"Secondly, over 90&#37; of the routers in the current network allow "
"participating traffic.\n"
"It's the default in the Java router.\n"
"If your application doesn't route for others and it gets really popular, "
"then it's a leech on the network,\n"
"and it upsets the balance we have now.\n"
"If it gets really big, then we become Tor, and spend our time begging for"
" people to enable relaying."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:81
msgid ""
"Thirdly, participating traffic is cover traffic that helps your users' "
"anonymity."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:84
msgid ""
"We strongly discourage you from disabling participating traffic by "
"default.\n"
"If you do this and your application gets hugely popular, it could break "
"the network."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:90
msgid "Persistence"
msgstr "Persistance"
#: i2p2www/pages/site/docs/applications/embedding.html:91
msgid ""
"You must save the router's data (netdb, configuration, etc.) between runs"
" of the router.\n"
"I2P does not work well if you must reseed each startup, and that's a huge"
" load on our reseed servers, and not very good for anonymity either.\n"
"Even if you bundle router infos, I2P needs saved profile data for best "
"performance."
msgstr ""
"Vous devez sauvegarder les données du routeur (netdb, configuration, etc)"
" entre les exécutions du routeur.\n"
"I2P ne marche pas bien si vous devez resemer à chaque démarrage et c'est "
"une charge énorme sur nos serveurs de re-essaimage, et pas très bon pour "
"l'anonymat non plus. Même si vous inclues des infos de routeur, I2P a "
"besoin de données de profil sauvegardés pour avoir la meilleure "
"performance."
#: i2p2www/pages/site/docs/applications/embedding.html:99
msgid "Configurability"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:100
msgid ""
"Give your users a way to change the configuration of the important "
"settings.\n"
"We understand that you will probably want to hide most of I2P's "
"complexity, but it's important to show some basic settings.\n"
"In addition to the defaults above, some network settings such as UPnP, "
"IP/port may be helpful."
msgstr ""
"Donnez à vos utilisateurs une façon de changer la configuration des "
"paramètres importants.\n"
"Nous comprenons que vous voudrez probablement cacher la plupart de la "
"complexité d'I2P, mais il est important de montrer quelques paramètres de"
" base.\n"
"En plus des paramètres prédéfinis ci-dessus, quelques paramètres réseau "
"tels que UPnP, IP/port, peuvent être utiles."
#: i2p2www/pages/site/docs/applications/embedding.html:108
msgid "Floodfill Considerations"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:109
msgid ""
"Above a certain bandwidth setting, and meeting other health criteria, "
"your router will become floodfill,\n"
"which may cause a large increase in connections and memory usage (at "
"least with the Java router).\n"
"Think about whether that's OK. You can disable floodfill, but then your "
"fastest users aren't contributing what they could.\n"
"It also depends on the typical uptime for your application."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:119
msgid "Reseeding"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:120
msgid ""
"Decide if you are bundling router infos or using our reseed hosts.\n"
"The Java reseed host list is in the source code, so if you keep your "
"source up to date, the host list will be also.\n"
"Be aware of possible blocking by hostile governments."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:129
msgid "Reduce Network Resource Usage"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:130
msgid ""
"Consider setting your application tunnels to delay-open, reduce-on-idle "
"and/or close-on-idle.\n"
"This is straightforward if using i2ptunnel but you'll have to implement "
"some of it yourself if using I2CP directly.\n"
"See i2psnark for code that reduces tunnel count and then closes the "
"tunnel, even in the presence of some background DHT activity."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:138
msgid "Updatability"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:139
msgid ""
"Have an auto-update feature if at all possible, or at least auto-"
"notification of a new version.\n"
"Our biggest fear is a huge number of routers out there that can't be "
"updated.\n"
"We have about 6-8 releases a year of the Java router, and it's critical "
"to the health of the network that the users keep up.\n"
"We usually have over 80&#37; of the network on the latest release within "
"6 weeks after the release, and we'd like to keep it that way.\n"
"You don't need to worry about disabling the router's built-in auto-update"
" function, as that code is in the router console,\n"
"which you presumably are not bundling."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:150
msgid "Rollout"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:151
msgid ""
"Have a gradual rollout plan. Don't overwhelm the network all at once.\n"
"We currently have approximately 25K unique users per day and 40K uniques "
"per month.\n"
"We are probably able to handle growth of 2-3X per year without too much "
"issue.\n"
"If you anticipate a faster rampup than that, OR the bandwidth "
"distribution (or uptime distribution,\n"
"or any other significant characteristic) of your userbase is "
"significantly different from our current userbase,\n"
"we really need to have a discussion.\n"
"The bigger your growth plans, the more important everthing else in this "
"checklist is."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:163
msgid "Design for and Encourage Long Uptimes"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:164
msgid ""
"Tell your users that I2P works best if it keeps running.\n"
"It may be several minutes after startup before it works well, and even "
"more after first install.\n"
"If your average uptime is less than an hour, I2P is probably the wrong "
"solution."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:172
msgid "Show Status"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:173
msgid ""
"Provide some indication to the user that the application tunnels are "
"ready. Encourage patience."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:178
msgid "Graceful Shutdown"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:179
msgid ""
"If possible, delay the shutdown until your participating tunnels expire.\n"
"Don't let your users break tunnels easily, or at least ask them to "
"confirm."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:185
msgid "Education and Donation"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:186
msgid ""
"It would be nice if you give your users links to learn more about I2P and"
" to donate."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:192
msgid "External Router Option"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:193
msgid ""
"Depending on your user base and application,\n"
"it may be helpful to provide an option or a separate package to use an "
"external router."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:200
msgid "Use of other Common Services"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:201
msgid ""
"If you plan to use or link to other common I2P services (news feeds, "
"hosts.txt subscriptions, trackers, outproxies, etc.),\n"
"make sure you aren't overloading them,\n"
"and talk to the people who are running them to make sure it's ok."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:209
msgid "Time / NTP Issues"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:210
msgid ""
"I2P includes an SNTP client. I2P requires correct time to operate.\n"
"It will compensate for a skewed system clock but this may delay startup. "
"You may disable I2P's SNTP queries,\n"
"but this isn't advised unless your application makes sure the system "
"clock is correct."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:218
msgid "Choose What and How you Bundle"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:219
msgid ""
"At a minimum you will need i2p.jar, router.jar, streaming.jar, and "
"mstreaming.jar.\n"
"You may omit the two streaming jars for a datagram-only app.\n"
"Some apps may need more, e.g. i2ptunnel.jar or addressbook.jar.\n"
"Don't forget jbigi.jar, or a subset of it for the platforms you support, "
"to make the crypto much faster.\n"
"We are currently building them for Java 6, as of 0.9.14. The source is "
"mostly compatible with Java 5 if you want to do your own compile,\n"
"but we may start using Java 6 features at any time without notice.\n"
"We plan to migrate to Java 7 in 2015.\n"
"If you're building Debian / Ubuntu packages, you should require the I2P "
"package from our PPA instead of bundling it.\n"
"You almost certainly do not need susimail, susidns, the router console, "
"and i2psnark, for example."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:233
msgid "You may also wish to bundle a hosts.txt file."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:236
msgid "Be sure to specify a Java 6 bootclasspath if compiling with Java 8."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:244
msgid "Datagram (DHT) considerations"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:245
msgid ""
"If your application is using I2P datagrams, e.g. for a DHT,\n"
"there's lots of advanced options available to reduce overhead and "
"increase reliability.\n"
"This may take some time and experimentation to get working well.\n"
"Be aware of size/reliability tradeoffs. Talk to us for help.\n"
"It is possible - and recommended - to use Datagrams and Streaming on the "
"same Destination.\n"
"Don't create separate Destinations for this.\n"
"Don't try to store your unrelated data in the existing network DHTs "
"(iMule, bote, bittorrent, and router).\n"
"Build your own. If you are hardcoding seed nodes, we recommend that you "
"have several."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:258
msgid "Comarketing"
msgstr "Comarketing"
#: i2p2www/pages/site/docs/applications/embedding.html:259
msgid ""
"Let's work together. Don't wait until it's done.\n"
"Give us your Twitter handle and start tweeting about it, we will return "
"the favor."
msgstr ""
"Travaillons ensemble. N'attendez pas jusqu'à ce que ce soit achevé.\n"
"Donnez-nous votre pseudonyme Twitter et commencez à tweeter à ce propos, "
"nous vous rendrons la pareille."
#: i2p2www/pages/site/docs/applications/embedding.html:265
msgid "Malware"
msgstr "Logiciel malveillant (malware)"
#: i2p2www/pages/site/docs/applications/embedding.html:266
msgid ""
"Please don't use I2P for evil.\n"
"It could cause great harm both to our network and our reputation."
msgstr ""
"Veuillez ne pas pas utiliser I2P pour faire le mal. Cela pourrait causer "
"beaucoup de mal à notre réseau et à notre réputation."
#: i2p2www/pages/site/docs/applications/embedding.html:272
msgid "Join Us"
msgstr "Rejoignez-nous"
#: i2p2www/pages/site/docs/applications/embedding.html:273
msgid ""
"This may be obvious, but join the community. Run I2P 24/7. Start an "
"eepsite about your project.\n"
"Hang out in IRC #i2p-dev. Post on the forums. Spread the word.\n"
"We can help get you users, testers, translators, or even coders."
msgstr ""
"Ceci peut paraître évident, mais rejoignez la communauté. Exécutez I2P "
"24/7. Commencez un eepsite au sujet de votre projet.\n"
"Traînez dans l'IRC #i2p-dev. Postez dans les forums. Fait passer le mot.\n"
"Nous pouvons vous aider à obtenir des utilisateurs, des testeurs, des "
"traducteurs, ou même des codeurs."
#: i2p2www/pages/site/docs/applications/embedding.html:281
msgid "Application Examples"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:282
msgid ""
"You may wish to install and play with the I2P Android app, and look at "
"its code, for an example of an application that bundles the router.\n"
"See what we expose to the user and what we hide.\n"
"Look at the state machine we use to start and stop the router.\n"
"Other examples are: Vuze, the Nightweb Android app, iMule, TAILS, iCloak,"
" and Monero."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:290
msgid "Code Example"
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:291
msgid ""
"None of the above actually tells you how to write your code to\n"
"bundle the Java router, so following is a brief example."
msgstr ""
#: i2p2www/pages/site/docs/applications/embedding.html:306
msgid ""
"This code is for the case where your application starts the router, as in"
" our Android app.\n"
"You could also have the router start the application via the "
"clients.config and i2ptunnel.config files,\n"
"together with Jetty webapps,\n"
"as is done in our Java packages.\n"
"As always, state management is the difficult part."
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:3
msgid "February 2014"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:8
#, python-format
msgid ""
"Clients may be started directly by the router when they are listed\n"
"in the <a href=\"%(configspec)s\">clients.config</a> file.\n"
"These clients may be \"managed\" or \"unmanaged\".\n"
"This is handled by the ClientAppManager.\n"
"Additionally, managed or unmanaged clients may register with the\n"
"ClientAppManager so that other clients may retrieve a reference to them.\n"
"There is also a simple Port Mapper facility for clients to register an\n"
"internal port that other clients may look up."
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:21
msgid ""
"As of release 0.9.4, the router supports managed clients.\n"
"Managed clients are instantiated and started by the ClientAppManager.\n"
"The ClientAppManager maintains a reference to the client and receives "
"updates on the client's state.\n"
"Managed clients are preferred, as it is much easier to implement state "
"tracking\n"
"and to start and stop a client. It also is much easier to avoid static "
"references in the client code\n"
"which could lead to excessive memory usage after a client is stopped.\n"
"Managed clients may be started and stopped by the user in the router "
"console,\n"
"and are stopped at router shutdown."
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:31
msgid ""
"Managed clients implement either the net.i2p.app.ClientApp or "
"net.i2p.router.app.RouterApp interface.\n"
"Clients implementing the ClientApp interface must provide the following "
"constructor:"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:38
msgid ""
"Clients implementing the RouterApp interface must provide the following "
"constructor:"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:44
msgid "The arguments provided are specified in the clients.config file."
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:48
msgid "Unmanaged Clients"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:49
msgid ""
"If the main class specified in the clients.config file does not implement"
" a managed interface,\n"
"it will be started with main() with the arguments specified,\n"
"and stopped with main() with the arguments specified.\n"
"The router does not maintain a reference, since all interactions are via "
"the static main() method.\n"
"The console cannot provide accurate state information to the user."
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:57
msgid "Registered Clients"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:58
msgid ""
"Clients, whether managed or unmanaged, may register with the "
"ClientAppManager\n"
"so that other clients may retrieve a reference to them.\n"
"Registration is by name.\n"
"Known registered clients are:"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:68
msgid "Port Mapper"
msgstr ""
#: i2p2www/pages/site/docs/applications/managed-clients.html:69
msgid ""
"The router also provides a simple mechanism for clients to find an "
"internal socket service,\n"
"such as the HTTP proxy. This is provided by the Port Mapper.\n"
"Registration is by name.\n"
"Clients that register generally provide an internal emulated socket on "
"that port."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:2
#: i2p2www/pages/site/docs/applications/supported.html:5
msgid "Supported Applications"
msgstr "Applications supportées"
#: i2p2www/pages/site/docs/applications/supported.html:9
#: i2p2www/pages/site/docs/applications/supported.html:186
msgid "Blogging, Forums, and Wikis"
msgstr "Blogging, forums, et Wikis"
#: i2p2www/pages/site/docs/applications/supported.html:11
#: i2p2www/pages/site/docs/applications/supported.html:232
msgid "Decentralized File Storage"
msgstr "Stockage de fichiers décentralisé"
#: i2p2www/pages/site/docs/applications/supported.html:14
#: i2p2www/pages/site/docs/applications/supported.html:244
msgid "Development Tools"
msgstr "Outils de développement"
#: i2p2www/pages/site/docs/applications/supported.html:17
#: i2p2www/pages/site/docs/applications/supported.html:246
msgid "Version control"
msgstr "Contrôle de version"
#: i2p2www/pages/site/docs/applications/supported.html:21
#: i2p2www/pages/site/docs/applications/supported.html:265
msgid "Domain Naming"
msgstr "Nommage de domaine"
#: i2p2www/pages/site/docs/applications/supported.html:23
#: i2p2www/pages/site/docs/applications/supported.html:283
msgid "Email"
msgstr "Email"
#: i2p2www/pages/site/docs/applications/supported.html:26
#: i2p2www/pages/site/docs/applications/supported.html:328
msgid "File Sharing"
msgstr "Partage de fichier"
#: i2p2www/pages/site/docs/applications/supported.html:29
#: i2p2www/pages/site/docs/applications/supported.html:330
msgid "BitTorrent clients"
msgstr "Clients BitTorrent"
#: i2p2www/pages/site/docs/applications/supported.html:31
#: i2p2www/pages/site/docs/applications/supported.html:372
msgid "BitTorrent trackers and indexers"
msgstr "Trackers et indexeurs BitTorrent"
#: i2p2www/pages/site/docs/applications/supported.html:40
#: i2p2www/pages/site/docs/applications/supported.html:439
msgid "Network Administration"
msgstr "Administration réseau"
#: i2p2www/pages/site/docs/applications/supported.html:43
#: i2p2www/pages/site/docs/applications/supported.html:441
msgid "General-purpose socket utilities"
msgstr "Utilitaires de socket d'usage général"
#: i2p2www/pages/site/docs/applications/supported.html:50
#: i2p2www/pages/site/docs/applications/supported.html:482
msgid "Real-time Chat"
msgstr "Tchat en temps réel"
#: i2p2www/pages/site/docs/applications/supported.html:53
#: i2p2www/pages/site/docs/applications/supported.html:484
msgid "Instant messaging clients"
msgstr "Clients de messagerie instantanée"
#: i2p2www/pages/site/docs/applications/supported.html:55
#: i2p2www/pages/site/docs/applications/supported.html:494
msgid "IRC clients"
msgstr "Clients IRC"
#: i2p2www/pages/site/docs/applications/supported.html:57
#: i2p2www/pages/site/docs/applications/supported.html:545
msgid "IRC servers"
msgstr "Serveurs IRC"
#: i2p2www/pages/site/docs/applications/supported.html:62
#: i2p2www/pages/site/docs/applications/supported.html:561
msgid "Web Browsing"
msgstr "Navigation web"
#: i2p2www/pages/site/docs/applications/supported.html:65
#: i2p2www/pages/site/docs/applications/supported.html:563
msgid "Anonymous websites"
msgstr "Sites web anonymes"
#: i2p2www/pages/site/docs/applications/supported.html:67
#: i2p2www/pages/site/docs/applications/supported.html:612
msgid "Proxy software"
msgstr "Logiciel proxy"
#: i2p2www/pages/site/docs/applications/supported.html:69
#: i2p2www/pages/site/docs/applications/supported.html:637
msgid "Inproxies"
msgstr "Proxies entrants"
#: i2p2www/pages/site/docs/applications/supported.html:71
#: i2p2www/pages/site/docs/applications/supported.html:677
msgid "Outproxies"
msgstr "Proxies sortants"
#: i2p2www/pages/site/docs/applications/supported.html:76
#: i2p2www/pages/site/docs/applications/supported.html:691
msgid "Website Hosting"
msgstr "Hébergement de site web"
#: i2p2www/pages/site/docs/applications/supported.html:79
#: i2p2www/pages/site/docs/applications/supported.html:706
msgid "Web servers"
msgstr "Serveurs web"
#: 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"
"<a href=\"%(trac)s\">Trac</a>, and be sure to select the\n"
"“www” component in the submission form."
msgstr ""
"Ceci est destiné à être une liste complète des applications utilisées "
"avec\n"
"I2P. Si vous connaissez quelque chose qui manque veuillez soumettre un "
"billet sur \n"
"<a href=\"%(trac)s\">Trac</a>, et dans le formulaire de soumission "
"assurez-vous de choisir le\n"
"composant \"www\"."
#: i2p2www/pages/site/docs/applications/supported.html:92
msgid ""
"\n"
"Supported applications are tagged with one or more of the following:"
msgstr ""
"\n"
"Les applications supportées sont étiquetées avec une ou davantage des "
"choses suivantes :"
#: 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:336
#: i2p2www/pages/site/docs/applications/supported.html:703
msgid "bundled"
msgstr "bundled"
#: i2p2www/pages/site/docs/applications/supported.html:100
msgid ""
"<em>Bundled application</em> — I2P ships with a few officially\n"
"supported applications that let new users take immediate advantage of\n"
"some of I2P's more useful capabilities."
msgstr ""
"<em>Application bundled</em> - I2P est livré avec quelques\n"
"applications officiellement supportées qui laissent les nouveaux "
"utilisateurs prendre avantage immédiat de\n"
"certaines des capacités les plus utiles de I2P."
#: 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:404
#: i2p2www/pages/site/docs/applications/supported.html:426
#: i2p2www/pages/site/docs/applications/supported.html:435
#: i2p2www/pages/site/docs/applications/supported.html:523
msgid "plugin"
msgstr "plugin"
#: i2p2www/pages/site/docs/applications/supported.html:110
#, python-format
msgid ""
"<em>Third-party plugin</em> — I2P's plugin system provides convenient\n"
"deployment of I2P-enabled applications and allows tighter integration\n"
"with the router. Plugins are [reviewed by the community](<a href=\n"
"\"http://%(plugins)s\">http://%(plugins)s</a>) to identify security and\n"
"anonymity issues."
msgstr ""
"<em>Plug-in tiers</em> - Le système de plugin de I2P fournit un commode\n"
"déploiement des applications I2P-enabled et permet l'intégration plus "
"étroite\n"
"avec le routeur. Les plug-ins sont [passés en revue par la communauté] "
"(<a href=\n"
"\"http://%(plugins)s\">http://%(plugins)s</a>) afin d'identifier les "
"anomalies\n"
"de sécurité et d'anonymat."
#: 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:324
#: i2p2www/pages/site/docs/applications/supported.html:342
#: i2p2www/pages/site/docs/applications/supported.html:353
#: i2p2www/pages/site/docs/applications/supported.html:368
#: i2p2www/pages/site/docs/applications/supported.html:414
#: i2p2www/pages/site/docs/applications/supported.html:426
#: i2p2www/pages/site/docs/applications/supported.html:435
#: i2p2www/pages/site/docs/applications/supported.html:450
#: i2p2www/pages/site/docs/applications/supported.html:456
#: i2p2www/pages/site/docs/applications/supported.html:462
#: i2p2www/pages/site/docs/applications/supported.html:472
#: i2p2www/pages/site/docs/applications/supported.html:478
#: i2p2www/pages/site/docs/applications/supported.html:490
#: i2p2www/pages/site/docs/applications/supported.html:523
#: i2p2www/pages/site/docs/applications/supported.html:529
#: i2p2www/pages/site/docs/applications/supported.html:535
#: i2p2www/pages/site/docs/applications/supported.html:541
#: i2p2www/pages/site/docs/applications/supported.html:618
#: i2p2www/pages/site/docs/applications/supported.html:627
#: i2p2www/pages/site/docs/applications/supported.html:633
#: i2p2www/pages/site/docs/applications/supported.html:703
#: i2p2www/pages/site/docs/applications/supported.html:718
#: i2p2www/pages/site/docs/applications/supported.html:724
#: i2p2www/pages/site/docs/applications/supported.html:730
#: i2p2www/pages/site/docs/applications/supported.html:736
msgid "standalone"
msgstr "autonome"
#: 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:362
#: i2p2www/pages/site/docs/applications/supported.html:386
#: i2p2www/pages/site/docs/applications/supported.html:395
#: i2p2www/pages/site/docs/applications/supported.html:551
#: i2p2www/pages/site/docs/applications/supported.html:557
msgid "standalone/mod"
msgstr "autonome/mod"
#: i2p2www/pages/site/docs/applications/supported.html:124
msgid ""
"<em>Third-party standalone application</em> — Many standard network\n"
"applications only require careful setup and configuration to communicate\n"
"anonymously over I2P. These are tagged with <em>standalone</em>. Some\n"
"applications, tagged with <em>standalone/mod</em>, require patching to\n"
"function properly over I2P or to prevent inadvertent disclosure of\n"
"identifying information such as the user's hostname or external IP\n"
"address."
msgstr ""
"<em>Application autonome tierce</em> - Beaucoup d'applications réseau "
"standard\n"
"exigent seulement de la configuration prudente et de la configuration "
"pour communiquer\n"
"anonymement sur I2P. Celles-ci sont étiquetées avec <em>autonome</em>. "
"Certaines\n"
"applications, étiquetées avec <em>standalone/mod/<em>, exigent du "
"rapiéçage - patching - pour\n"
"fonctionner correctement sur I2P ou pour empêcher la révélation "
"négligente\n"
"d'informations d'identification telles que le nom de l'hôte de "
"l'utilisateur ou l'adresse\n"
"IP externe."
#: i2p2www/pages/site/docs/applications/supported.html:135
#: i2p2www/pages/site/docs/applications/supported.html:302
#: i2p2www/pages/site/docs/applications/supported.html:571
#: i2p2www/pages/site/docs/applications/supported.html:581
#: i2p2www/pages/site/docs/applications/supported.html:590
#: i2p2www/pages/site/docs/applications/supported.html:596
#: i2p2www/pages/site/docs/applications/supported.html:602
#: i2p2www/pages/site/docs/applications/supported.html:608
#: i2p2www/pages/site/docs/applications/supported.html:649
#: i2p2www/pages/site/docs/applications/supported.html:657
#: i2p2www/pages/site/docs/applications/supported.html:666
#: i2p2www/pages/site/docs/applications/supported.html:673
#: i2p2www/pages/site/docs/applications/supported.html:687
msgid "service"
msgstr "service"
#: i2p2www/pages/site/docs/applications/supported.html:138
msgid ""
"<em>Third-party essential network service</em> — Services which on\n"
"the I2P network are analogous to those provided on the public Internet\n"
"by hosting providers, ISPs, and Google: eepsite indexes and jump\n"
"services, search engines, email, DNS-style name services, hosting,\n"
"proxies, etc. These services focus on boosting the usefulness of the\n"
"network as a whole, and making network content more discoverable."
msgstr ""
"<em>Service réseau essentiellement tiers</em> - Services qui sur\n"
"le réseau I2P sont analogue à ceux founis sur l'internet public\n"
"par les fournisseurs d'hébergement, fournisseurs d'accès Internet, et "
"Google : index d'eepsites et\n"
"services de saut, moteurs de recherche, courrier électronique, services "
"de nommage style DNS, hébergement,\n"
"proxies, etc. Ces services mettent l'accent sur l'augmentation de "
"l'utilité du\n"
"réseau dans son ensemble, et rendent le contenu du réseau plus "
"susceptible d'être découvert."
#: i2p2www/pages/site/docs/applications/supported.html:148
#: i2p2www/pages/site/docs/applications/supported.html:220
#: i2p2www/pages/site/docs/applications/supported.html:368
msgid "unmaintained"
msgstr "Non maintenu"
#: i2p2www/pages/site/docs/applications/supported.html:151
msgid ""
"<em>Unmaintained</em> — This is used to tag plugins, applications,\n"
"and services which appear to be unmaintained and may be removed from\n"
"this listing in the future."
msgstr ""
"<em>Non maintenu</em> — Ceci est utilisé pour étiquetter les plugins, "
"applications,\n"
"et les services qui semblent être non maintenus et pourraient être "
"enlevés de\n"
"cette liste dans l'avenir."
#: 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 <a "
"href=\"%(threatmodel)s\">identified\n"
"threats to anonymity</a>. 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 ""
"Avertissement : utiliser une application, plug-in, ou service avec I2P \n"
"ne protège pas automatiquement votre anonymat. I2P est simplement un "
"ensemble d'outils qui peuvent vous aider à atténuer certaines <a "
"href=\"%(threatmodel)s\">Menaces identifiées de l'anonymat</a>. Nous ne "
"faisons et ne pouvons pas faire de garanties concernant la\n"
"sécurité des applications, plug-ins et services listés ci-dessous. La "
"plupart\n"
"des applications et des plug-ins doivent être correctement configurés et "
"certains auront besoin d'être\n"
"rapiécés (patched) - et même ensuite votre anonymat pourrait ne pas être "
"assuré. De même,\n"
"des services pourraient mettre votre anonymat en danger, soit par leur "
"conception ou par négligence de leur part ou de la votre."
#: 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 ""
"Si vous avez des doutes concernant la pertinence d'une application,\n"
"plug-in, ou service à utiliser avec I2P, vous êtes pressés de vous "
"informer\n"
"des questions de vie privée avec ses mainteneurs, chercher dans ses "
"listes de diffusion et traqueur de bug si l'un existe, et consulter les "
"membres éprouvés, bien informés\n"
"concernant la communauté I2P."
#: 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 ""
"Prenez la responsabilité de votre propre anonymat et de votre sécurité - "
"cherchez toujours\n"
"le conseil d'experts, instruisez vous, pratiquez le bon jugement, soyez "
"attentif à\n"
"ne pas révéler d'informations personnelles vous identifiant, et ne prenez"
" pas\n"
"de raccourcis."
#: i2p2www/pages/site/docs/applications/supported.html:201
msgid "Lightweight forum software."
msgstr "Logiciel poids-léger de forum."
#: i2p2www/pages/site/docs/applications/supported.html:207
msgid "Another lightweight blogging platform."
msgstr "Une autre plate-forme poids-léger de blogging."
#: i2p2www/pages/site/docs/applications/supported.html:213
msgid "Most popular open source forum software."
msgstr "Le logiciel open source de forum le plus populaire."
#: i2p2www/pages/site/docs/applications/supported.html:219
msgid "Distributed forums software, originally developed by jrandom."
msgstr "Logiciel de forums distribués, développé à l'origine par jrandom."
#: i2p2www/pages/site/docs/applications/supported.html:224
#, python-format
msgid ""
"A Java-based MediaWiki clone. No external database needed.\n"
"Plugin available <a href=\"http://%(plugins)s/plugins/jamwiki\">here</a>."
msgstr ""
"A clone de MediaWiki basé-Java. Pas de base de données externe requise.\n"
"Plug-in disponible <a href=\"http://%(plugins)s/plugins/jamwiki\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:236
#, python-format
msgid ""
"Port of the <a href=\"http://tahoe-lafs.org/\"><strong>Tahoe-"
"LAFS</strong></a>\n"
"distributed file system to the I2P network. Controller plugin <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
"Portage du système de fichiers distribués <a href=\"http://tahoe-"
"lafs.org/\"><strong>Tahoe-LAFS</strong></a>\n"
"sur le réseau I2P. Plug-in contrôleur <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:251
msgid "Most popular distributed version control system."
msgstr "Le plus populaire logiciel distribué de système de contrôle de version."
#: i2p2www/pages/site/docs/applications/supported.html:257
#, python-format
msgid ""
"Another distributed version control system. Currently\n"
"<a href=\"%(monotone)s\">used in I2P development</a>."
msgstr ""
"Une autre version distribuée du système de contrôle de version. "
"Actuellement\n"
"<a href=\"%(monotone)s\">utilisé pour le développement de I2P</a>."
#: i2p2www/pages/site/docs/applications/supported.html:269
#, python-format
msgid ""
"Provides management of addressbooks, which are part of a simple,\n"
"user-controlled <a href=\"%(naming)s\">I2P naming system</a> somewhat\n"
"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n"
"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. (<em>Note:</em> While Base64 destinations are globally\n"
"unique, addressbook “domain” names only resolve to unique destinations\n"
"locally.)"
msgstr ""
"Fournit la gestion des carnets d'adresses, qui font partie du simple <a "
"href=\"%(naming)s\">système de nommage I2P</a> contrôlé par "
"l'utilisateur, quelque peu \n"
"analogue au Système de Nom de Domaine (DNS) d'Internet. Les carnets "
"d'adresses\n"
"dresseent la carte des destinations Base64 en de courts, habituellement "
"lisibles par êtres humain noms de \"domaine\", ayant le suffixe .i2p que "
"le client HTTP du routeur I2P peut résoudre en retour en adresses Base64."
" (<em>Note :</em> tandis que les destinations Base64 sont globalement "
"unique, les noms de \"domaine\" du carnet d'adresses nomment seulement "
"localement la résolution vers des destinations uniques.)"
#: 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 ""
"Application de courrier électronique pair-à-pair sans serveur, utilisant "
"une table de hachage distribuée\n"
"(DHT) pour stocker le courrier de façon sécurisée."
#: 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 ""
"Fournit un service de courrier électronique dans le réseau I2P via des "
"adresses @mail.i2p ,\n"
"et un service de passerelle de courrier électronique entre le réseau I2P "
"et l'internet public\n"
"via des adresses @i2pmail.org . Un des plus anciens en service continu "
"sur I2P."
#: 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 ""
"Simple interface de courrier électronique à base de navigateur web. "
"Configurée pour utiliser d'origine le service de courrier électronique de"
" Postman."
#: i2p2www/pages/site/docs/applications/supported.html:316
#, python-format
msgid ""
"Can be configured to use Postman's email service. See\n"
"<a href=\"%(reviews)s\">this comparison of MUAs</a>,\n"
"and configuration settings for\n"
"<a href=\"%(smtp)s\">SMTP</a> and <a href=\"%(pop3)s\">POP3</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:335
msgid "I2P's integrated BitTorrent client."
msgstr "Client BitTorrent intégré d'I2P."
#: i2p2www/pages/site/docs/applications/supported.html:341
msgid "Modified version of I2PSnark."
msgstr "Version modifiée d'I2PSnark."
#: i2p2www/pages/site/docs/applications/supported.html:347
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 ""
"\n"
"Une fourche de rufus qui utilise le pont ouvert de base (BOB) et a "
"beaucoup \n"
"d'améliorations, y compris l'utilisation des plus récents wxwidgets et "
"python. Il permet\n"
"aussi l'utilisation de seedless si installé pour faire des torrents sans "
"traqueur et\n"
"de la récupération de liens magnet de torrents au sein d'I2P.\n"
#: i2p2www/pages/site/docs/applications/supported.html:358
msgid ""
"Clean, full-featured cross-platform BitTorrent client with official\n"
"ports for several GUI toolkits."
msgstr ""
"Client BitTorrent multiplate-forme, propre, toutes options, avec portages"
" officiels pour plusieurs boîtes à outils GUI."
#: i2p2www/pages/site/docs/applications/supported.html:367
msgid "Has a plugin providing I2P support."
msgstr "Possède un plug-in fournissant le support d'I2P."
#: i2p2www/pages/site/docs/applications/supported.html:374
#, python-format
msgid ""
"For a detailed feature comparison of I2P-enabled trackers/indexers, see\n"
"<a href=\"http://%(zzz)s/files/trackers.html\">here</a>."
msgstr ""
"Pour une comparaison détaillée des caractéristiques des "
"traqueurs/indexeurs compatibles I2P, voir\n"
"<a href=\"http://%(zzz)s/files/trackers.html\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:382
msgid ""
"The code that powered one of the first major tracker/indexer sites on the"
"\n"
"Internet. Patched for I2P."
msgstr ""
"Le code qui a actionné un des premiers sites traqueurs/indexeurs majeurs "
"sur l'Internet. Rapiécé (patched) pour I2P."
#: i2p2www/pages/site/docs/applications/supported.html:391
#, python-format
msgid ""
"Lightweight tracker/indexer. I2P mod available in the i2p.opentracker\n"
"branch of the <a href=\"%(newdevs)s\">I2P Monotone repository</a>."
msgstr ""
"Traqueur/indexeur poids-léger. Mod I2P disponible dans la branche "
"i2p.opentracker\n"
"du <a href=\"%(newdevs)s\">dépôt Monotone I2P</a>."
#: i2p2www/pages/site/docs/applications/supported.html:400
#, python-format
msgid ""
"<a href=\"http://%(zzz)s/\">zzz's</a> Java-based open tracker. More info\n"
"<a href=\"http://%(zzz)s/topics/598?page=1#p2085\">here</a>."
msgstr ""
"<a href=\"http://%(zzz)s/\">zzz's</a> Traqueur ouvert basé sur Java. Plus"
" d'infos\n"
"<a href=\"http://%(zzz)s/topics/598?page=1#p2085\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:413
msgid "I2P port of the aMule ED2K client."
msgstr "Portage I2P du client ED2K aMule."
#: i2p2www/pages/site/docs/applications/supported.html:422
#, python-format
msgid ""
"Port of the <a href=\"http://www.phex.org/mambo/\">Phex</a> Gnutella "
"client. Website\n"
"for plugin version <a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
"Portage du client Gnutella <a "
"href=\"http://www.phex.org/mambo/\">Phex</a>. Site web pour la version "
"plug-in <a href=\"http://%(stats)s/i2p/plugins/\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:431
#, python-format
msgid ""
"Cache for Gnutella peers on I2P. Website for plugin version\n"
"<a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
"Cache pour les pairs Gnutella dans I2P. Site web pour la version\n"
"plug-in <a href=\"http://%(stats)s/i2p/plugins/\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:446
msgid ""
"Unix standard tool for socket relaying. Several clones, ports, and forks\n"
"have appeared over the years."
msgstr ""
"Outil standard d'Unix pour le relayage de douilles (sockets). Plusieurs "
"clones, portages, et fourches\n"
"sont apparus au fil des ans."
#: i2p2www/pages/site/docs/applications/supported.html:455
msgid "Like netcat but more powerful."
msgstr "Comme netcat mais plus puissant."
#: i2p2www/pages/site/docs/applications/supported.html:461
msgid ""
"Proxy providing simple, transparent SOCKS-ification of network "
"applications."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:471
msgid ""
"Most popular implementation of the Secure Shell (SSH) protocol and "
"related tools."
msgstr ""
"Implémentation la plus populaire du protocole Secure Shell (SSH) et "
"outils liés."
#: i2p2www/pages/site/docs/applications/supported.html:477
msgid "Open source Secure Shell (SSH) client for Windows."
msgstr "Client Secure Shell (SSH) open source pour Windows."
#: i2p2www/pages/site/docs/applications/supported.html:489
msgid "IM client with multiple incarnations."
msgstr "Client IM (messagerie instantanée) avec incarnations multiples."
#: i2p2www/pages/site/docs/applications/supported.html:496
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"
"<code>/me</code> command) which isn't inherently dangerous."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:507
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 <a href=\"http://www.wireshark.org/\">Wireshark</a> 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:519
#, python-format
msgid ""
"Small Java-based IRC client. Plugin available <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
"Petit client IRC basé sur Java. Plug-in disponible <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">ici</a>."
#: i2p2www/pages/site/docs/applications/supported.html:528
msgid "Cross-platform graphical IRC client."
msgstr "Client IRC graphique multiplate-forme."
#: i2p2www/pages/site/docs/applications/supported.html:534
msgid "Unixy terminal-based IRC client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:540
msgid "Another Unixy terminal-based IRC client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:550
msgid "IRC server developed from scratch."
msgstr "Serveur IRC développé à partir de zéro."
#: i2p2www/pages/site/docs/applications/supported.html:556
msgid "Most popular IRC server."
msgstr "Serveur IRC le plus populaire."
#: i2p2www/pages/site/docs/applications/supported.html:568
msgid ""
"Any website hosted anonymously on I2P, reachable through the I2P router's"
" HTTP proxy."
msgstr ""
"N'importe quel site Web hébergé anonymement dans I2P, accessible à "
"travers le proxy HTTP du routeur I2P."
#: i2p2www/pages/site/docs/applications/supported.html:576
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 ""
"Sites web anonymes distribués, hébergés\n"
"en utilisant Tahoe-LAFS-I2P, actuellement seulement accessibles avec les "
"clients Tahoe-LAFS-I2P\n"
"ou à travers le proxy HTTP Tahoe-LAFS-I2P."
#: i2p2www/pages/site/docs/applications/supported.html:586
#, python-format
msgid ""
"Website for <a href=\"http://%(sponge)s/\">sponge's</a> jump service.\n"
"Source code available."
msgstr ""
"Site web pour le service de saut de<a "
"href=\"http://%(sponge)s/\">sponge</a>.\n"
"Code source disponible."
#: i2p2www/pages/site/docs/applications/supported.html:595
msgid "Another jump service."
msgstr "Un autre service de saut."
#: i2p2www/pages/site/docs/applications/supported.html:601
msgid "Dynamically updated eepsite index."
msgstr "Index d'eepsites mis à jour dynamiquement."
#: i2p2www/pages/site/docs/applications/supported.html:607
#, python-format
msgid "Website for <a href=\"http://%(zzz)s/\">zzz's</a> jump service."
msgstr "Site web pour le service de saut de <a href=\"http://%(zzz)s/\">zzz</a>."
#: i2p2www/pages/site/docs/applications/supported.html:617
msgid "SOCKS-enabled caching web proxy with basic filtering capabilities."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:623
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:632
msgid "Venerable caching web proxy."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:639
msgid "Gateways allowing users on the public Internet to access eepsites."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:646
#, python-format
msgid "<a href=\"http://%(tino)s/\">tino's</a> inproxy on the public Internet."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:654
#: i2p2www/pages/site/docs/applications/supported.html:663
#: i2p2www/pages/site/docs/applications/supported.html:670
msgid "Another inproxy on the public Internet."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:679
msgid ""
"Gateways allowing I2P users to access content hosted on the public "
"Internet."
msgstr ""
"Passerelles permettant aux utilisateurs d'I2P d'avoir accès au contenu "
"hébergé sur l'Internet public."
#: i2p2www/pages/site/docs/applications/supported.html:686
msgid "Publicly advertised outproxy running Squid, located in Europe."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:696
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 <a href=\"http://127.0.0.1:7658/\">user's eepsite</a>. The "
"bundled\n"
"Jetty also serves the I2P router console and web applications bundled "
"with\n"
"I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:708
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:717
msgid "Most popular web server on the public WWW."
msgstr "Serveur web le plus populaire dans le WWW public."
#: i2p2www/pages/site/docs/applications/supported.html:723
msgid "Web server and Java servlet container. More features than Jetty."
msgstr ""
"Serveur Web et conteneur de servlets Java. Davantage de fonctions que "
"Jetty."
#: i2p2www/pages/site/docs/applications/supported.html:729
msgid "Fast lightweight web server."
msgstr "Serveur web poids léger et rapide."
#: i2p2www/pages/site/docs/applications/supported.html:735
msgid "High-performance lightweight web server."
msgstr "Serveur Web poids léger et très performant."
#: i2p2www/pages/site/docs/discussions/naming.html:2
msgid "Naming discussion"
msgstr "Discussion nommage"
#: 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 <a href=\"%(naming)s\">the naming page</a> for current documentation."
msgstr ""
"NOTE : ce qui suit est une discussion concernant les raisons derrière le "
"système de nommage d'I2P,\n"
"les arguments courants et alternatives possibles.\n"
"Pour la documentation actuelle, voir <a href=\"%(naming)s\">la page "
"nommage</a>."
#: 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 <a "
"href=\"#alternatives\">alternate naming systems</a> 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 <a href=\"https://zooko.com/distnames.html\">Names: "
"Decentralized, Secure, Human-Meaningful: Choose Two</a>."
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 <b>not globally"
" \n"
"unique</b>. 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 <b>locally unique</b>: "
"they are \n"
"what <i>you</i> use to call a site, just as how you can call things "
"whatever \n"
"you want when you add them to your browser's bookmarks, or your IM "
"client's \n"
"buddy list. Who you call \"Boss\" may be who someone else calls "
"\"Sally\"."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:78
msgid "Names will not, ever, be securely human readable and globally unique."
msgstr ""
"Les noms ne seront pas, jamais, sécurisés, lisibles par être humain, et "
"globalement uniques."
#: i2p2www/pages/site/docs/discussions/naming.html:83
msgid ""
"The following from zzz is a review of several common\n"
"complaints about I2P's naming system."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:89
msgid ""
"<b>Inefficiency:</b>\n"
"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 <a href=\"http://%(i2host)s/\">%(i2host)sp</a>),\n"
"or something simple like subscribing to http://example.i2p/cgi-"
"bin/recenthosts.cgi rather than http://example.i2p/hosts.txt.\n"
"If a hypothetical recenthosts.cgi distributed all hosts from the last 24 "
"hours, for example,\n"
"that could be both more efficient and more anonymous than the current "
"hosts.txt with last-modified and etag."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:112
#, python-format
msgid ""
"A sample implementation is on stats.i2p at\n"
"<a href=\"%(url)s\">%(url)s</a>.\n"
"This script returns an Etag with a timestamp.\n"
"When a request comes in with the If-None-Match etag,\n"
"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 ""
"<b>Not Scalable:</b>\n"
"The 400K hosts.txt (with linear search) isn't that big at the moment and\n"
"we can probably grow by 10x or 100x before it's a problem."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:132
msgid ""
"As far as network traffic see above.\n"
"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 ""
"<b>Requires configuration and \"trust\":</b>\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 "<b>It isn't DNS</b>"
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 ""
"<b>Not reliable:</b>\n"
"It depends on specific servers for addressbook subscriptions."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:182
msgid ""
"Yes it depends on a few servers that you have configured.\n"
"Within i2p, servers and services come and go.\n"
"Any other centralized system (for example DNS root servers) would\n"
"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 ""
"<b>Awkward, not real-time:</b>\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 ""
"<b>Meta</b> - calls two or more other naming systems in order.\n"
"By default, calls PetName then HostsTxt."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:222
msgid ""
"<b>PetName</b> - Looks up in a petnames.txt file.\n"
"The format for this file is NOT the same as hosts.txt."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:226
msgid "<b>HostsTxt</b> - Looks up in the following files, in order:"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:234
msgid ""
"<b>AddressDB</b> - Each host is listed in a separate file in a addressDb/"
" directory."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:237
msgid ""
"<b>Eepget</b> - does an HTTP lookup request from an external\n"
"server - must be stacked after the HostsTxt lookup with Meta.\n"
"This could augment or replace the jump system.\n"
"Includes in-memory caching."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:243
msgid ""
"<b>Exec</b> - calls an external program for lookup, allows\n"
"additional experimentation in lookup schemes, independent of java.\n"
"Can be used after HostsTxt or as the sole naming system.\n"
"Includes in-memory caching."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:249
msgid "<b>Dummy</b> - used as a fallback for Base64 names, otherwise fails."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:253
msgid ""
"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 <a "
"href=\"%(todo)s#hashcash\">proof of work</a>."
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 <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> "
"(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 ""
"\n"
"ElGamal est utilisé pour le chiffrage asymétrique. \n"
"ElGamal est utilisé en plusieurs endroits dans I2P :"
#: i2p2www/pages/site/docs/how/cryptography.html:27
#, python-format
msgid ""
"To encrypt router-to-router <a href=\"%(tunnelcreation)s\">Tunnel Build "
"Messages</a>"
msgstr ""
"Pour chiffrer les <a href=\"%(tunnelcreation)s\">messages de construction"
" de tunnel</a> routeur-à-routeur"
#: i2p2www/pages/site/docs/how/cryptography.html:30
#, python-format
msgid ""
"For end-to-end (destination-to-destination) encryption as a part of <a "
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
"using the encryption key in the <a "
"href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>"
msgstr ""
"Pour le chiffrement bout à bout (destination-à-destination) en tant "
"qu'une partie de\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
"utilisant la clé de chiffrement dans le <a "
"href=\"%(commonstructures)s#struct_LeaseSet\">jeu de bail</a>"
#: i2p2www/pages/site/docs/how/cryptography.html:34
#: i2p2www/pages/site/docs/how/cryptography.html:198
#, python-format
msgid ""
"For encryption of some <a href=\"%(netdb)s#delivery\">netDb stores and "
"queries sent to floodfill routers</a>\n"
"as a part of <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
"(destination-to-router or router-to-router)."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:41
msgid ""
"We use common primes for 2048 ElGamal encryption and decryption, as given"
" by <a href=\"http://tools.ietf.org/html/rfc3526\">IETF RFC-3526</a>.\n"
"We currently only use ElGamal to encrypt the IV and session key in a "
"single block, followed by the \n"
"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 <a href=\"%(url)s\">the ElGamal code</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:115
msgid ""
"The shared prime is the \n"
"<a href=\"http://tools.ietf.org/html/rfc3526#section-3\">[Oakley prime "
"for 2048 bit keys]</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:122
msgid "or as a hexadecimal value:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:138
msgid "Using 2 as the generator."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:142
msgid "Short Exponent"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:143
#, python-format
msgid ""
"While the standard exponent size is 2048 bits (256 bytes) and the I2P\n"
"<a href=\"%(commonstructures)s#type_PrivateKey\">PrivateKey</a>\n"
"is a full 256 bytes, in some cases\n"
"we use the short exponent size of 226 bits (28.25 bytes)."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:150
#, python-format
msgid ""
"This should be safe for use with the Oakley primes, per\n"
"<a href=\"%(pdf)s\">On Diffie-Hellman Key Agreement with Short Exponents "
"- van Oorschot, Weiner</a>\n"
"at EuroCrypt 96, and <a href=\"%(benchmarks)s\">crypto++'s "
"benchmarks</a>.\n"
"Benchmarks originally at <a rel=\"nofollow\" "
"href=\"%(oldbenchmarks)s\">this link, now dead</a>,\n"
"rescued from <a href=\"http://www.archive.org/\">the wayback machine</a>,"
" dated Apr 23, 2008."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:160
#, python-format
msgid ""
"Also, <a href=\"%(book)s\">Koshiba &amp; Kurosawa: Short Exponent Diffie-"
"Hellman Problems</a> (PKC 2004, LNCS 2947, pp. 173-186)\n"
"<a href=\"%(fulltext)s\">(full text on Google Books)</a> apparently "
"supports this, according to\n"
"<a href=\"%(thread)s\">this sci.crypt thread</a>.\n"
"The remainder of the PrivateKey is padded with zeroes."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:169
msgid ""
"Prior to release 0.9.8, all routers used the short exponent.\n"
"As of release 0.9.8, 64-bit x86 routers use a full 2048-bit exponent.\n"
"Other routers continue to use the short exponent due to concerns about "
"processor load.\n"
"The transition to a longer exponent for these platforms is a topic for "
"further study."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:176
#: i2p2www/pages/site/docs/how/cryptography.html:273
#: i2p2www/pages/site/docs/how/cryptography.html:356
#: i2p2www/pages/site/docs/how/cryptography.html:442
msgid "Obsolescence"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:177
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:185
msgid "AES is used for symmetric encryption, in several cases:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:190
msgid "For <a href=\"#transports\">transport encryption</a> after DH key exchange"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:194
#, python-format
msgid ""
"For end-to-end (destination-to-destination) encryption as a part of <a "
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:204
#, python-format
msgid ""
"For encryption of <a href=\"%(tunnelrouting)s#testing\">periodic tunnel "
"test messages</a> sent from the router to itself, through its own "
"tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:209
#, python-format
msgid ""
"We use AES with 256 bit keys and 128 bit blocks in CBC mode.\n"
"The padding used is specified in <a href=\"%(rfc2313)s\">IETF RFC-2313 "
"(PKCS#5 1.5, section 8.1 (for block type 02))</a>.\n"
"In this case, padding exists of pseudorandomly generated octets to match "
"16 byte blocks.\n"
"Specifically, see <a href=\"%(code1)s\">[the CBC code]</a> and the "
"Cryptix AES\n"
"<a href=\"%(code2)s\">[implementation]</a>, as well as the padding, found"
" in the\n"
"<a href=\"%(code3)s\">ElGamalAESEngine.getPadding</a> function."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:274
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:279
#: i2p2www/pages/site/docs/how/cryptography.html:371
#: i2p2www/pages/site/docs/how/cryptography.html:448
#: i2p2www/pages/site/docs/how/cryptography.html:516
#: i2p2www/pages/site/docs/how/garlic-routing.html:293
#: i2p2www/pages/site/docs/how/peer-selection.html:296
msgid "References"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:282
msgid "Feb. 7, 2006 Status Notes"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:287
msgid "Digital Signatures"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:289
msgid ""
"DSA is the default signature algorithm, but we are in the process of "
"migrating to more secure algorithms. See below."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:295
#, python-format
msgid ""
"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), "
"as implemented in\n"
"<a href=\"%(code)s\">[DSAEngine]</a>.\n"
"DSA was chosen because it is much faster for signatures than ElGamal."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:350
#, python-format
msgid ""
"The <a href=\"%(commonstructures)s#type_SigningPublicKey\">Signing Public"
" Key</a> is 1024 bits.\n"
"The <a href=\"%(commonstructures)s#type_SigningPrivateKey\">Signing "
"Private Key</a> is 160 bits."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:357
#, python-format
msgid ""
"<a href=\"%(pdf)s\">NIST 800-57</a>\n"
"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n"
"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a "
"given key."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:363
msgid ""
"The prime number was chosen <a href=\"#choosing_constants\">in 2003</a>,\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:374
#: i2p2www/pages/site/docs/how/cryptography.html:376
#, python-format
msgid "Meeting %(num)s"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:378
msgid "Choosing the constants"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:385
msgid "New Signature Algorithms"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:386
msgid ""
"As of release 0.9.12, the router supports additional signature algorithms"
" that are more secure than 1024-bit DSA.\n"
"The first usage is for Destinations; support for Router Identities was "
"added in release 0.9.16.\n"
"Support for migrating existing Destinations from old to new signatures "
"will be added in a future release.\n"
"Signature type is encoded in the Destination and Router Identity, so that"
" new signature algorithms\n"
"or curves may be added at any time.\n"
"The current supported signature types are as follows:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:407
msgid ""
"ECDSA uses the standard NIST curves and standard SHA-2 hashes.\n"
"We will migrate new destinations to ECDSA-SHA256-P256 in the 0.9.16 - "
"0.9.19 release time frame.\n"
"Usage for Router Identities is supported as of release 0.9.16 and "
"migration may occur in early 2015."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:416
msgid ""
"Standard RSA PKCS#1 v1.5 (RFC 2313) with the public exponent F4 = 65537.\n"
"RSA is now used for signing all out-of-band trusted content, including "
"router updates, reseeding, plugins, and news.\n"
"The signatures are embedded in the \"su3\" format documented on the "
"router updates page.\n"
"4096-bit keys are recommended and used by all known signers.\n"
"RSA is not used, or planned for use, in any in-network Destinations or "
"Router Identities."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:427
msgid ""
"Standard EdDSA using curve 25519 and standard 512-bit SHA-2 hashes.\n"
"Supported as of release 0.9.15.\n"
"Migration for Destinations and Router Identities is scheduled for "
"mid-2015."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:437
#, python-format
msgid ""
"Hashes within I2P are plain old SHA256, as implemented in\n"
"<a href=\"%(code)s\">[SHA256Generator]</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:443
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:454
msgid "Transports"
msgstr "Transports"
#: i2p2www/pages/site/docs/how/cryptography.html:455
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"
"<a href=\"#elgamal\">the same shared prime and generator as specified "
"above for ElGamal</a>,\n"
"followed by symmetric AES encryption as described above.\n"
"This provides\n"
"<a href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">perfect "
"forward secrecy</a>\n"
"on the transport links."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:467
msgid "NTCP connections"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:469
#, 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 <a "
"href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> is that it provides '<a"
" href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">(perfect) "
"forward secrecy</a>', while <a "
"href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> does not."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:477
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:481
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:484
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:489
#, python-format
msgid "See <a href=\"%(ntcp)s\">the NTCP specification</a> for details."
msgstr "Voyez <a href=\"%(ntcp)s\">la spécification NTCP</a> pour des détails."
#: i2p2www/pages/site/docs/how/cryptography.html:493
msgid "UDP connections"
msgstr "Connections UDP"
#: i2p2www/pages/site/docs/how/cryptography.html:494
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:502
#, python-format
msgid "See <a href=\"%(ssu)s#keys\">the SSU specification</a> for details."
msgstr "Voyez <a href=\"%(ssu)s#keys\">la spécification SSU</a> pour des détails."
#: i2p2www/pages/site/docs/how/cryptography.html:506
#, 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"
"<a href=\"%(statusnotes)s\">the 2005-07-05 status notes</a>\n"
"for details."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:2
msgid "ElGamal/AES + SessionTag Encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:3
#: i2p2www/pages/site/docs/how/garlic-routing.html:3
msgid "March 2014"
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:</p>"
msgstr ""
"Chaque message reçu a une des deux\n"
"des deux conditions possibles :</p>"
#: 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 ""
"Il fait partie d'une session existante et contient une étiquette de "
"session et un bloc AES crypté"
#: 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 ""
"Il est pour une nouvelle session et contient à la fois des blocs cryptés "
"en ElGamal et en AES"
#: 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 ""
"Quand un routeur reçoit un message, il supposera d'abord qu'il est issu\n"
"d'une session existante et tentera de chercher l'étiquette de session et "
"décrypter les données suivantes utilisant AES.\n"
"Si cela échoue, il supposera qu'il est pour une nouvelle session et "
"tentera de\n"
"le décrypter en utilisant ElGamal."
#: 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 ""
"Un message de nouvelle session ElGamal contient deux parties, un bloc "
"chiffré en ElGamal\n"
"et un bloc chiffré en AES."
#: i2p2www/pages/site/docs/how/elgamal-aes.html:103
msgid "The encrypted message contains:"
msgstr "Le message chiffré contient :"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:127
msgid "ElGamal Block"
msgstr "Bloc ElGamal"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:128
msgid "The encrypted ElGamal Block is always 514 bytes long."
msgstr "Le bloc chiffré en ElGamal a toujours 514 octets de long."
#: i2p2www/pages/site/docs/how/elgamal-aes.html:132
msgid "The unencrypted ElGamal data is 222 bytes long, containing:"
msgstr "Les données ElGamal non chiffrées ont 222 octets de long, contenant :"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:164
#, python-format
msgid ""
"The 32-byte\n"
"<a href=\"%(commonstructures)s#type_SessionKey\">Session Key</a>\n"
"is the identifier for the session.\n"
"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 ""
"La\n"
"<a href=\"%(commonstructures)s#type_SessionKey\">clé de session</a> de "
"32-octets\n"
"est l'identifiant pour la session.\n"
"Les 32 octets Pre-IV seront utilisés pour produire les IV du bloc d'AES "
"qui suit;\n"
"les IV sont les 16 premiers octets du hash SHA-256 du Pre-IV."
#: i2p2www/pages/site/docs/how/elgamal-aes.html:172
#, python-format
msgid ""
"The 222 byte payload is encrypted\n"
"<a href=\"%(cryptography)s#elgamal\">using ElGamal</a>\n"
"and the encrypted block is 514 bytes long.\n"
"</p>"
msgstr ""
"La charge utile de 222 octets est chiffrée\n"
"<a href=\"%(cryptography)s#elgamal\">en utilisant ElGamal</a>\n"
"et le bloc chiffrée a 514 octets de long.\n"
"</p>"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:179
msgid "AES Block"
msgstr "Bloc AES"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:180
msgid "The unencrypted data in the AES block contains the following:"
msgstr ""
"Les données non chiffrées dans le bloc en AES contiennent les choses "
"suivantes :"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:224
#, python-format
msgid "2-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>, 0-200"
msgstr "2-octets <a href=\"%(commonstructures)s#type_Integer\">Entier</a>, 0-200"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:228
#, python-format
msgid ""
"That many 32-byte <a "
"href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>"
msgstr ""
"Ces nombreux 32 octets <a "
"href=\"%(commonstructures)s#type_SessionTag\">étiquettes de session</a>"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:232
#, python-format
msgid "4-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>"
msgstr "4-octet <a href=\"%(commonstructures)s#type_Integer\">Entier</a>"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:236
#, python-format
msgid ""
"The 32-byte <a href=\"%(commonstructures)s#type_Hash\">SHA256 Hash</a> of"
" the payload"
msgstr ""
"Les 32-octets <a href=\"%(commonstructures)s#type_Integer\">Hash "
"SHA256</a> de la charge utile"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:240
msgid "A one-byte value. Normally == 0. If == 0x01, a Session Key follows"
msgstr ""
"Une valeur d'un octet. Normalement == 0. Si == 0x01, une clé de session "
"suit"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:244
#, python-format
msgid ""
"A 32-byte <a href=\"%(commonstructures)s#type_SessionKey\">Session "
"Key</a>,\n"
" to replace the old key, and is only present if preceding"
" flag is 0x01"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:249
msgid "the data"
msgstr "la donnée"
#: 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 ""
"Données aléatoires vers un multiple de 16 octets pour la longueur totale."
"\n"
"Peut contenir davantage que le padding minimum exigé."
#: i2p2www/pages/site/docs/how/elgamal-aes.html:256
msgid "Minimum length: 48 bytes"
msgstr "Longueur minimale : 48 octets"
#: i2p2www/pages/site/docs/how/elgamal-aes.html:260
#, python-format
msgid ""
"The data is then <a href=\"%(cryptography)s\">AES Encrypted</a>,\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"
"</p>"
msgstr ""
"La donnée est ensuite alors <a href=\"%(cryptography)s\">chiffrée en AES "
"Encrypted</a>,\n"
"en utilisant la session indexe et l'IV (calculée à partir de la Pre-IV) "
"depuis la section ElGamal.\n"
"La longueur du bloc chiffré en AES est variable, mais est toujours une "
"multiple de 16 octets.\n"
"</p>"
#: 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 <a href=\"%(i2np)s\">I2NP Overview</a>."
msgstr ""
"La longueur de charge utile actuelle, et la longueur de bloc max, sont de"
" moins de 64 KO; voir la <a href=\"%(i2np)s\">vue d'ensemble d'I2NP</a>."
#: i2p2www/pages/site/docs/how/elgamal-aes.html:272
msgid "New Session Key is currently unused and is never present."
msgstr ""
"La clé de nouvelle session est actuellement inutilisée et n'est jamais "
"présente."
#: 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 <a href=\"%(commonstructures)s#type_SessionTag\">Session "
"Tag</a>\n"
" previously delivered in an AES block"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:314
msgid "As specified <a href=\"#aes\">above</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:318
msgid ""
"The session tag also serves as\n"
"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 <a "
"href=\"#new\">New Session Message</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:331
msgid "Session Tag Configuration Options"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:332
#, python-format
msgid ""
"As of release 0.9.2, the client may configure the default number of "
"Session Tags to send\n"
"and the low tag threshold for the current session.\n"
"For brief streaming connections or datagrams, these options may be used "
"to significantly reduce bandwidth.\n"
"See the <a href=\"%(i2cp)s#options\">I2CP options specification</a> for "
"details.\n"
"The session settings may also be overridden on a per-message basis.\n"
"See the <a href=\"%(i2cpspec)s#msg_SendMessageExpires\">I2CP Send Message"
" Expires specification</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:345
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:352
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:357
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:362
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:366
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:371
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:376
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:381
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:389
#, python-format
msgid ""
"Change from Session Tags to\n"
"<a href=\"%(futureperf)s#prng\">a synchronized PRNG</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:394
#, python-format
msgid ""
"Several of these ideas may require a new I2NP message type, or\n"
"set a flag in the\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
"or set a magic number in the first few bytes of the Session Key field\n"
"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 "Cheminement en Ail et terminologie \"Ail\""
#: 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 ""
"Les termes \"routage en ail\" et \"chiffrement en ail\" sont souvent "
"utilisés plutôt lâchement quand renvoyant à la technologie I2P's.\n"
"Ici, nous expliquons l'histoire des termes, les significations diverses "
"et\n"
"l'utilisation des méthodes \"ail\" dans I2P."
#: i2p2www/pages/site/docs/how/garlic-routing.html:13
msgid ""
"\"Garlic routing\" was first coined by\n"
"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>\n"
"in Roger Dingledine's Free Haven \n"
"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> "
"Section 8.1.1 (June 2000), as derived from \n"
"<a href=\"http://www.onion-router.net/\">Onion Routing</a>."
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 <a href=\"%(comparisons)s\">network comparisons</a>) sends messages "
"- taking a message, encrypting it\n"
"to the recipient's public key, taking that encrypted message and "
"encrypting\n"
"it (along with instructions specifying the next hop), and then taking "
"that\n"
"resulting encrypted message and so on, until it has one layer of "
"encryption\n"
"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"
"<a href=\"http://www.onion-router.net/Publications.html\">large amount of"
" academic research on onion routing</a>,\n"
"<a href=\"http://freehaven.net/anonbib/topic.html\">Tor, and similar "
"mixnets</a>."
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"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption\n"
"(without multiple layers)."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:105
msgid "\"Garlic\" Methods in I2P"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:106
msgid ""
"Now that we've defined various \"garlic\" terms, we can say that\n"
"I2P uses garlic routing, bundling and encryption in three places:"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:111
msgid "For building and routing through tunnels (layered encryption)"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:112
msgid ""
"For determining the success or failure of end to end message delivery "
"(bundling)"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:113
msgid ""
"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"
"<a href=\"%(tunnelimpl)s\">tunnel implementation page</a>.\n"
"Tunnel building details are defined on\n"
"<a href=\"%(tunnelcreation)s\">this page</a>.\n"
"We use\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:141
#, python-format
msgid ""
"Tunnels are a general-purpose mechanism to transport all\n"
"<a href=\"%(i2np)s\">I2NP messages</a>, and\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Messages</a> are not used to "
"build tunnels.\n"
"We do not bundle multiple\n"
"<a href=\"%(i2np)s\">I2NP messages</a> into a single\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a> 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"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>.\n"
"Just as within a single tunnel, we use\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption."
"\n"
"Each client message as delivered to the router through the\n"
"<a href=\"%(i2cp)s\">I2CP interface</a> becomes a single\n"
"<a href=\"%(i2npspec)s#struct_GarlicClove\">Garlic Clove</a>\n"
"with its own\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
"inside a\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>.\n"
"Delivery Instructions may specify a Destination, Router, or Tunnel."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:172
msgid ""
"Generally, a Garlic Message will contain only one clove.\n"
"However, the router will periodically bundle two additional\n"
"cloves in the Garlic Message:"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:177
msgid "Garlic Message Cloves"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:180
#, python-format
msgid ""
"A\n"
"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">Delivery Status Message</a>,\n"
"with\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
"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"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>,\n"
"containing a\n"
"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>\n"
"for the originating Destination, with\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
"specifying the far-end destination's router.\n"
"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"
"<a href=\"%(netdb)s\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:213
#, python-format
msgid ""
"By default, the Delivery Status and Database Store Messages\n"
"are bundled when the local LeaseSet changes, when additional\n"
"<a href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>\n"
"are delivered, or if the messages have not been bundled in the previous "
"minute.\n"
"As of release 0.9.2, the client may configure the default number of "
"Session Tags to send\n"
"and the low tag threshold for the current session.\n"
"See the <a href=\"%(i2cp)s#options\">I2CP options specification</a> for "
"details.\n"
"The session settings may also be overridden on a per-message basis.\n"
"See the <a href=\"%(i2cpspec)s#msg_SendMessageExpires\">I2CP Send Message"
" Expires specification</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:227
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:232
msgid ""
"As of release 0.9.12, the Delivery Status Message is wrapped in another "
"Garlic Message\n"
"by the originator so that the contents are encrypted and not visible to "
"routers on the return path."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:238
msgid "Storage to the Floodfill Network Database"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:239
#, python-format
msgid ""
"As explained on the\n"
"<a href=\"%(netdb)s#delivery\">network database page</a>,\n"
"local\n"
"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSets</a>\n"
"are sent to floodfill routers in a\n"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>\n"
"wrapped in a\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>\n"
"so it is not visible to the tunnel's outbound gateway."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:255
#, 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"
"<a href=\"%(tunnelmessage)s#delivery\">tunnel message Delivery "
"Instructions</a>,\n"
"a wide spectrum of batching, delay, mixing, and routing strategies are "
"possible."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:263
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:270
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:276
#, python-format
msgid ""
"As a part of\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES encryption</a>,\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:285
#, python-format
msgid ""
"Encryption of additional messages to and from the\n"
"<a href=\"%(netdb)s#delivery\">floodfill routers</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:295
msgid ""
"The term garlic routing was first coined in Roger Dingledine's Free Haven"
" \n"
"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> "
"(June 2000),\n"
"see Section 8.1.1 authored by\n"
"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:302
msgid "Onion router publications"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:304
msgid "Onion Routing on Wikipedia"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:306
msgid "Garlic Routing on Wikipedia"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:308
#, python-format
msgid ""
"<a href=\"%(meeting58)s\">I2P Meeting 58</a> (2003) discussing the "
"implementation of garlic routing"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:314
msgid "Free Haven publications"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:316
msgid ""
"Onion routing was first described in <a href=\"http://www.onion-"
"router.net/Publications/IH-1996.pdf\">Hiding Routing Information</a>\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 to How I2P Works"
msgstr "Une présentation allégée du fonctionnement d'I2P"
#: i2p2www/pages/site/docs/how/intro.html:4
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"
"freely available."
msgstr ""
"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"
"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"
"Bien entendu, tous les aspects du réseau sont publics et disponibles "
"gratuitement."
#: i2p2www/pages/site/docs/how/intro.html:14
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 &mdash; "
"both sender and recipient\n"
"are unidentifiable to each other as well as to third parties. For "
"example, today there are both\n"
"in-I2P web sites (allowing anonymous publishing / hosting) as well as "
"HTTP proxies to the normal web\n"
"(allowing anonymous web browsing). Having the ability to run servers "
"within I2P is essential, as it\n"
"is quite likely that any outbound proxies to the normal Internet will be "
"monitored, disabled, or\n"
"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"
"l'initiateur d'une communication et pas le destinataire, ou le contraire."
" I2P est conçu pour permettre\n"
"aux pairs l'utilisant de communiquer anonymement &mdash; à la fois "
"l'émetteur et le récepteur sont non-identifiables à 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 anonyme) tout comme des serveurs"
" proxy 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"
"ou même piraté pour tenter des attaques encore plus pernicieuses."
#: i2p2www/pages/site/docs/how/intro.html:25
#, 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 <a href=\"%(i2ptunnel)s\">I2PTunnel</a> application, we are "
"able to stream traditional\n"
"TCP/IP applications over I2P, such as SSH, IRC, a squid proxy, and even "
"streaming audio. Most people\n"
"will not use I2P directly, or even need to know they're using it. Instead"
" their view will be of one\n"
"of the I2P enabled applications, or perhaps as a little controller app to"
" turn on and off various\n"
"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"
"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. Comme 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 stockage distribué. "
"Grâce à l'application\n"
"<a href=\"%(i2ptunnel)s\">I2PTunnel</a>, nous pouvons utiliser des "
"applications TCP/IP traditionnelles\n"
"sur I2P, telles que SSH, IRC, un proxy squid, et même du flux audio. La "
"plupart des gens n'utilisent pas\n"
"I2P directement, ou ne ressentent même pas le besoin de savoir qu'ils "
"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."
#: i2p2www/pages/site/docs/how/intro.html:37
#, python-format
msgid ""
"An essential part of designing, developing, and testing an anonymizing "
"network is to define the <a\n"
"href=\"%(threatmodel)s\">threat model</a>, since there is no such thing "
"as \"true\" anonymity, just\n"
"increasingly expensive costs to identify someone. Briefly, I2P's intent "
"is to allow people to\n"
"communicate in arbitrarily hostile environments by providing good "
"anonymity, mixed in with\n"
"sufficient cover traffic provided by the activity of people who require "
"less anonymity. This way,\n"
"some users can avoid detection by a very powerful adversary, while others"
" will try to evade a weaker\n"
"entity, <i>all on the same network</i>, where each one's messages are "
"essentially indistinguishable\n"
"from the others."
msgstr ""
"Un des points clés de la conception, du développement, et du test d'un "
"réseau anonyme est la définition de son\n"
"<a href=\"%(threatmodel)s\">modèle de sécurité</a>, 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"
"se soustraire à la détection par un adversaire très puissant, quand "
"d'autres pourront esquiver une entité plus faible,\n"
"<i>tout ceci sur le même réseau</i> dans lequel les messages des uns sont"
" fondamentalement indistinguables de ceux des autres."
#: i2p2www/pages/site/docs/how/intro.html:48
msgid "Why?"
msgstr "Pourquoi?"
#: i2p2www/pages/site/docs/how/intro.html:49
#, 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 <a "
"href=\"%(comparisons)s\">other\n"
"efforts</a> 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 pour lesquelles nous avons besoin d'un "
"système pour soutenir la communication anonyme, et chacun a son propre "
"raisonnement personnel. Il y a beaucoup <a "
"href=\"%(comparisons)s\">d'autres\n"
"efforts</a> travaillant à découvrir des façons de fournir des degrés "
"variables d'anonymat aux gens à travers\n"
"l'Internet, mais nous n'avons pu en trouver aucun qui réponde à nos "
"besoins ou à notre modèle de menace."
#: i2p2www/pages/site/docs/how/intro.html:56
msgid "How?"
msgstr "Comment?"
#: i2p2www/pages/site/docs/how/intro.html:58
#, 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 <a "
"href=\"%(tunnelrouting)s\">tunnel routing</a> page). Each router is "
"identified by a cryptographic RouterIdentity which is\n"
"typically long lived. These routers communicate with each other through "
"existing transport\n"
"mechanisms (TCP, UDP, etc), passing various messages. Client applications"
" have their own\n"
"cryptographic identifier (\"Destination\") which enables it to send and "
"receive messages. These\n"
"clients can connect to any router and authorize the temporary allocation "
"(\"lease\") of some tunnels\n"
"that will be used for sending and receiving messages through the network."
" I2P has its own internal\n"
"<a href=\"%(netdb)s\">network database</a> (using a modification of the "
"Kademlia algorithm) for\n"
"distributing routing and contact information securely."
msgstr ""
"Au premier coup d'oeil le réseau est constitué d'un tas de noeuds "
"(\"routeurs\") dotés d'un certain nombre\n"
"de chemins virtuels entrants et sortants unidirectionnels (appelés "
"\"tunnels\", expliqués sur la page\n"
"<a href=\"%(tunnelrouting)s\">routage en tunnel</a>). Chaque routeur est "
"identifié par l'identifiant\n"
"cryptographique \"RouterIdentity\", typiquement à 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"
"<a href=\"%(netdb)s\">base de donnée réseau</a> interne (utilisant une "
"modification de l'algorithme Kademlia)\n"
"pour une distribution sécurisée des informations de routage et de "
"contacts."
#: i2p2www/pages/site/docs/how/intro.html:71
msgid "Network topology example"
msgstr "Exemple de topologie du réseau"
#: i2p2www/pages/site/docs/how/intro.html:73
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"
"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 ayant 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 ayant deux sauts.\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"
"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."
#: i2p2www/pages/site/docs/how/intro.html:85
#, 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 <a "
"href=\"%(garlicrouting)s\">garlic</a>\n"
"wrapped, bundling the sender's own current lease information so that the "
"recipient can reply\n"
"immediately without having to look in the network database for the "
"current data."
msgstr ""
"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 en "
"<a href=\"%(garlicrouting)s\">oignon</a>,\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ées."
#: i2p2www/pages/site/docs/how/intro.html:93
#, 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 <a "
"href=\"%(peerselection)s\">peer selection</a>\n"
"page."
msgstr ""
"Pour gérer une grande gamme d'attaques, I2P est entièrement "
"<b>décentralisé</b> 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"
"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 <a "
"href=\"%(peerselection)s\">sélection de pairs</a>."
#: i2p2www/pages/site/docs/how/intro.html:102
#, python-format
msgid ""
"The network itself makes use of a significant number of <a "
"href=\"%(cryptography)s\">cryptographic\n"
"techniques and algorithms</a> - a full laundry list includes 2048bit "
"ElGamal encryption, 256bit AES\n"
"in CBC mode with PKCS#5 padding, 1024bit DSA signatures, SHA256 hashes, "
"2048bit Diffie-Hellman\n"
"negotiated connections with station to station authentication, and <a "
"href=\"%(elgamalaes)s\">ElGamal / AES+SessionTag</a>."
msgstr ""
"Le réseau fait usage d'un nombre significatif de <a "
"href=\"%(cryptography)s\">techniques et algorithmes\n"
"cryptographiques</a> : 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 "
"hachages SHA256, de\n"
"l'authentification de connexions station à station négociée en Diffie-"
"Hellman 2048bit, et\n"
"<a href=\"%(elgamalaes)s\">ElGamal / AES+SessionTag</a>."
#: i2p2www/pages/site/docs/how/intro.html:110
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"
"encryption (e.g. the TCP transport uses AES256 with ephemeral keys)."
msgstr ""
"Les contenus envoyés sur I2P sont chiffrés à travers trois couches de "
"chiffrement en oignon (utilisées pour vérifier la réception du message "
"par le destinataire), par le chiffrement de tunnel (tous les messages\n"
"traversant un tunnel sont chiffrés par la passerelle du tunnel jusqu'au "
"point de sortie du tunnel),\n"
"et par un chiffrement de la couche de transport inter routeurs (p.e. le "
"transport TCP utilise des clés AES256 éphémères)."
#: i2p2www/pages/site/docs/how/intro.html:117
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"
"applications running atop of I2P."
msgstr ""
"Le chiffrement de bout en bout (I2CP) (application cliente vers "
"l'application serveur) a été désactivé dans\n"
"la version 0.6; Le chiffrement (oignon) de bout en bout (routeur I2P "
"client vers routeur I2P serveur) depuis\n"
"le routeur \"a\" d'Alice vers le \"h\" de Bob est resté. Remarquez "
"l'utilisation différente des termes ! Toutes\n"
"les données transitant de \"a\" vers \"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"
"dans le schéma suivant <b>sont</b> les applications qui tournent sur I2P."
#: i2p2www/pages/site/docs/how/intro.html:126
msgid "End to end layered encryption"
msgstr "Cryptage en couches de bout en bout"
#: i2p2www/pages/site/docs/how/intro.html:128
#, python-format
msgid ""
"The specific use of these algorithms are outlined <a "
"href=\"%(cryptography)s\">elsewhere</a>."
msgstr ""
"Les utilisations spécifiques de ces algorithmes sont précisées <a "
"href=\"%(cryptography)s\">ailleurs</a>."
#: i2p2www/pages/site/docs/how/intro.html:132
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"
"deployment of more flexible and anonymous transports."
msgstr ""
"Les deux mécanismes principaux permettant l'usage du réseau par ceux qui "
"ont besoin d'un anonymat fort\n"
"sont très explicitement le routage \"oignon\" 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 \"oignon\" instantané et\n"
"les tunnels FIFO sont d'ores et déjà opérationnels. La version 2.0 "
"permettra de mettre en place des routes réservées\n"
"(peut-être avec des pairs de confiance), ainsi que des transports plus "
"souples et plus anonymes."
#: i2p2www/pages/site/docs/how/intro.html:141
#, 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"
"<code>O(log(N))</code> due to the <a href=\"%(netdb)s\">network "
"database</a>'s algorithm, while end\n"
"to end messages should be <code>O(1)</code> (scale free), since messages "
"go out K hops through the\n"
"outbound tunnel and another K hops through the inbound tunnel, with K no "
"longer than 3. The size of\n"
"the network (N) bears no impact."
msgstr ""
"Des questions ont surgit à juste titre concernant l'évolutivité d'I2P en "
"terme d'échelle. Il y aura certainement davantage d'analyse avec le "
"temps, mais l'intégration et la recherche des pairs devraient répondre "
"via\n"
"<b><code>O(log(N))</code><b> grâce à l'algorithme de la <a "
"href=\"%(netdb)s\">base de données</a>,\n"
"tandis que les messages seraient plutôt liés à <b><code>O(1)</code></b> "
"(non dépendant de 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 pas d'impact."
#: i2p2www/pages/site/docs/how/intro.html:150
msgid "When?"
msgstr "Quand?"
#: i2p2www/pages/site/docs/how/intro.html:151
#, python-format
msgid ""
"I2P initially began in Feb 2003 as a proposed modification to <a\n"
"href=\"http://freenetproject.org\">Freenet</a> to allow it to use "
"alternate transports, such as <a\n"
"href=\"%(jms)s\">JMS</a>, 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"
" <a href=\"%(roadmap)s\">roadmap</a>."
msgstr ""
"I2P a initialement commencé en février 2003 comme modification proposée à"
" <a\n"
"href=\"http://freenetproject.org\">Freenet</a> pour permettre d'utiliser "
"des transports alternés, tels que <a\n"
"href=\"%(jms)s\">JMS</a>, puis s'est développé en lui-même en tant que\n"
"'anonCommFramework' en avril 2003, se métamorphosant en I2P en juillet, "
"avec du code étant écrit sérieusement\n"
"à partir de août 2003. I2P est actuellement en développement, selon la <a"
" href=\"%(roadmap)s\">feuille de route</a>."
#: i2p2www/pages/site/docs/how/intro.html:161
msgid "Who?"
msgstr "Qui?"
#: i2p2www/pages/site/docs/how/intro.html:162
#, python-format
msgid ""
"We have a small <a href=\"%(team)s\">team</a> spread around several "
"continents, working to advance\n"
"different aspects of the project. We are very open to other developers "
"who want to get involved and\n"
"anyone else who would like to contribute in other ways, such as "
"critiques, peer review, testing,\n"
"writing I2P enabled applications, or documentation. The entire system is "
"open source - the router\n"
"and most of the SDK are outright public domain with some BSD and Cryptix "
"licensed code, while some\n"
"applications like I2PTunnel and I2PSnark are GPL. Almost everything is "
"written in Java (1.5+),\n"
"though some third party applications are being written in Python and "
"other languages. The code works\n"
"on <a href=\"http://java.com/en/\">Sun Java SE</a> and other Java Virtual"
" Machines."
msgstr ""
"Nous sommes une petite <a href=\"%(team)s\">équipe</a> répartie sur "
"plusieurs continents, qui travaille à\n"
"l'avancement\n"
"de différents aspects du projet. Nous sommes complètement ouverts à "
"l'arrivée d'autre développeurs qui voudraient s'impliquer et à celle de "
"quiconque préfèrerait participer d'autres façons, telles que la critique,"
" l'analyse de pair, le test,\n"
"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"
"quelques lignes de code sous licences 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 de tierce partie soient\n"
"écrites en Python et autres langages. Le code fonctionne sur <a "
"href=\"http://java.com/en/\">Oracle/Sun Java SE</a> et d'autres Machines "
"Virtuelles Java."
#: i2p2www/pages/site/docs/how/intro.html:173
msgid "Where?"
msgstr "Où?"
#: i2p2www/pages/site/docs/how/intro.html:174
#, python-format
msgid ""
"Anyone interested should join us on the IRC channel #i2p-dev (hosted "
"concurrently on irc.freenode.net,\n"
"irc.postman.i2p, irc.echelon.i2p, irc.dg.i2p and irc.oftc.net). There are"
" currently no\n"
"scheduled development meetings, however <a href=\"%(meetings)s\">archives"
" are available</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:180
#, python-format
msgid "The current source is available in <a href=\"%(monotone)s\">monotone</a>."
msgstr "Le code source est disponible dans <a href=\"%(monotone)s\">monotone</a>."
#: i2p2www/pages/site/docs/how/intro.html:185
#, python-format
msgid "See <a href=\"%(docs)s\">the Index to Technical Documentation</a>."
msgstr "Voir <a href=\"%(docs)s\">l'index de la documentation technique</a>."
#: i2p2www/pages/site/docs/how/network-database.html:2
msgid "The Network Database"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:3
msgid "October 2014"
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 (<b>RouterInfos</b>) "
"and destination contact\n"
"information (<b>LeaseSets</b>). Each piece of data is signed by the "
"appropriate party and verified\n"
"by anyone who uses or stores it. In addition, the data has liveliness "
"information\n"
"within it, allowing irrelevant entries to be dropped, newer entries to "
"replace\n"
"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:47
#: i2p2www/pages/site/docs/how/network-database.html:250
msgid "Floodfill"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:48
msgid "Hidden"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:49
#, python-format
msgid "Under %(amount)s shared bandwidth"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:50
#: i2p2www/pages/site/docs/how/network-database.html:51
#: i2p2www/pages/site/docs/how/network-database.html:52
#, python-format
msgid "%(amount)s shared bandwidth"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:50
msgid "default"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:53
#, python-format
msgid "Over %(amount)s shared bandwidth"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:54
msgid "Reachable"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:55
msgid "Unreachable"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:60
msgid "The core library version, always the same as the router version"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:64
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:67
msgid "Used to determine compatibility with newer features and messages"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:70
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:76
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:86
#, python-format
msgid ""
"Additional text options include\n"
"a small number of statistics about the router's health, which are "
"aggregated by\n"
"sites such as <a href=\"http://%(stats)s/\">%(stats)s</a>\n"
"for network performance analysis and debugging.\n"
"These statistics were chosen to provide data crucial to the developers,\n"
"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:97
msgid "Exploratory tunnel build success, reject, and timeout rates"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:98
msgid "1 hour average number of participating tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:101
msgid ""
"Floodfill routers publish additional data on the number of entries in "
"their network database."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:105
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:113
msgid "RouterInfo specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:116
msgid "RouterInfo Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:119
msgid "RouterInfo Expiration"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:120
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:127
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:130
msgid "There is no expiration if there are 25 or less RouterInfos."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:133
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:138
#, python-format
msgid ""
"RouterInfos containing <a href=\"%(ssu)s\">SSU</a> 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:142
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:148
msgid "RouterInfo Persistent Storage"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:150
msgid ""
"RouterInfos are periodically written to disk so that they are available "
"after a restart."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:157
msgid ""
"The second piece of data distributed in the netDb is a \"LeaseSet\" - "
"documenting\n"
"a group of <b>tunnel entry points (leases)</b> for a particular client "
"destination.\n"
"Each of these leases specify the following information:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:163
msgid "The tunnel gateway router (by specifying its identity)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:164
msgid "The tunnel ID on that router to send messages with (a 4 byte number)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:165
msgid "When that tunnel will expire."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:167
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:172
msgid "In addition to these leases, the LeaseSet includes:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:176
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:177
msgid ""
"Additional encryption public key: used for end-to-end encryption of "
"garlic messages"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:178
msgid ""
"Additional signing public key: intended for LeaseSet revocation, but is "
"currently unused."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:179
msgid ""
"Signature of all the LeaseSet data, to make sure the Destination "
"published the LeaseSet."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:183
msgid "Lease specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:185
msgid "LeaseSet specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:188
msgid "Lease Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:190
msgid "LeaseSet Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:194
msgid "Unpublished LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:195
msgid ""
"A LeaseSet for a destination used only for outgoing connections is "
"<i>unpublished</i>.\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 <a href=\"#leaseset_storage_peers\">I2NP storage messages</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:205
msgid "Revoked LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:206
msgid ""
"A LeaseSet may be <i>revoked</i> by publishing a new LeaseSet with zero "
"leases.\n"
"Revocations must be signed by the additional signing key in the LeaseSet."
"\n"
"Revocations are not fully implemented, and it is unclear if they have any"
" practical use.\n"
"This is the only planned use for that signing key, so it is currently "
"unused."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:213
msgid "Encrypted LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:214
msgid ""
"In an <i>encrypted</i> LeaseSet, all Leases are encrypted with a separate"
" DSA key.\n"
"The leases may only be decoded, and thus the destination may only be "
"contacted,\n"
"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:223
msgid "LeaseSet Expiration"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:224
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:229
msgid "LeaseSet Persistent Storage"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:230
msgid ""
"There is no persistent storage of LeaseSet data since they expire so "
"quickly."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:235
msgid "Bootstrapping"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:236
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 "
"<code>routerInfo-$hash.dat</code>\n"
"file and storing it in your <code>netDb/</code> directory. Anyone can "
"provide\n"
"you with those files - you can even provide them to others by exposing "
"your own\n"
"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:251
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 <a "
"href=\"#kademlia_closeness\">XOR-metric</a>) to a specific key."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:262
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:267
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:274
msgid "Floodfill Router Opt-in"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:276
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:283
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:293
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:299
msgid ""
"With the current rules for automatic opt-in, approximately 6&#37; of\n"
"the routers in the network are floodfill routers."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:304
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:314
msgid "Floodfill Router Roles"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:315
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:323
msgid "Kademlia Closeness Metric"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:324
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 <a href"
"=\"#sybil-partial\">Sybil attacks</a>.\n"
"Instead of the SHA256 hash of the key being looked up of stored, the "
"SHA256 hash is taken\n"
"of the 32-byte binary search key appended with the UTC date represented "
"as an 8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n"
"This is called the \"routing key\", and it changes every day at midnight "
"UTC.\n"
"Only the search key is modified in this way, not the floodfill router "
"hashes.\n"
"The daily transformation of the DHT is sometimes called \"keyspace "
"rotation\",\n"
"although it isn't strictly a rotation."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:337
msgid ""
"Routing keys are never sent on-the-wire in any I2NP message, they are "
"only used locally for\n"
"determination of distance."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:344
msgid "Storage, Verification, and Lookup Mechanics"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:346
msgid "RouterInfo Storage to Peers"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:347
#, python-format
msgid ""
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local "
"RouterInfo are exchanged with peers\n"
"as a part of the initialization of a <a href=\"%(ntcp)s\">NTCP</a>\n"
"or <a href=\"%(ssu)s\">SSU</a> transport connection."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:354
msgid "LeaseSet Storage to Peers"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:355
#, python-format
msgid ""
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local "
"LeaseSet are periodically exchanged with peers\n"
"by bundling them in a garlic message along with normal traffic from the "
"related Destination.\n"
"This allows an initial response, and later responses, to be sent to an "
"appropriate Lease,\n"
"without requiring any LeaseSet lookups, or requiring the communicating "
"Destinations to have published LeaseSets at all."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:363
msgid ""
"The DatabaseStoreMessage should be sent to the floodfill that is closest\n"
"to the current routing key for the RouterInfo or LeaseSet being stored.\n"
"Currently, the closest floodfill is found by a search in the local "
"database.\n"
"Even if that floodfill is not actually closest, it will flood it "
"\"closer\" by\n"
"sending it to multiple other floodfills.\n"
"This provides a high degree of fault-tolerance."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:372
msgid ""
"In traditional Kademlia, a peer would do a \"find-closest\" search before"
" inserting\n"
"an item in the DHT to the closest target. As the verify operation will "
"tend to\n"
"discover closer floodfills if they are present, a router will quickly "
"improve\n"
"its knowledge of the DHT \"neighborhood\" for the RouterInfo and "
"LeaseSets it regularly publishes.\n"
"While I2NP does not define a \"find-closest\" message, if it becomes "
"necessary,\n"
"a router may simply do an iterative search for a key with the least "
"significant bit flipped\n"
"(i.e. key ^ 0x01) until no closer peers are received in the "
"DatabaseSearchReplyMessages.\n"
"This ensures that the true closest peer will be found even if a more-"
"distant peer had\n"
"the netdb item."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:385
msgid "RouterInfo Storage to Floodfills"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:386
#, python-format
msgid ""
"A router publishes its own RouterInfo by directly connecting to a "
"floodfill router\n"
"and sending it a <a href=\"%(i2np)s\">I2NP</a> 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"
"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
"with the Message ID set to the value of the Reply Token."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:400
msgid "LeaseSet Storage to Floodfills"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:401
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:406
#, python-format
msgid ""
"A router publishes a local LeaseSet by\n"
"sending a <a href=\"%(i2np)s\">I2NP</a> 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"
"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
"with the Message ID set to the value of the Reply Token.\n"
"This message is sent back to one of the client's inbound tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:419
msgid "Flooding"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:420
#, python-format
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 several (currently %(floodsize)s) "
"floodfill routers closest to the routing key\n"
"of the NetDb entry. (The routing key is the SHA256 Hash of the "
"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n"
"By flooding to those closest to the key, not closest to itself, the "
"floodfill ensures that the storage\n"
"gets to the right place, even if the storing router did not have good "
"knowledge of the\n"
"DHT \"neighborhood\" for the routing key."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:431
#, python-format
msgid ""
"The floodfill then directly connects to each of those peers\n"
"and sends it a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
"with a zero Reply Token. The message is not end-to-end garlic encrypted,\n"
"as this is a direct connection, so there are no intervening routers\n"
"(and no need to hide this data anyway).\n"
"The other routers do not reply or re-flood, as the Reply Token is zero."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:441
msgid "RouterInfo and LeaseSet Lookup"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:442
#, python-format
msgid ""
"The <a href=\"%(i2np)s\">I2NP</a> 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:448
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:452
#, python-format
msgid ""
"If the key is found locally by the floodfill router, it responds with a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage.\n"
"If the key is not found locally by the floodfill router, it responds with"
" a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
"containing a list of other floodfill routers close to the key."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:460
msgid ""
"LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n"
"RouterInfo lookups are not encrypted and thus are vulnerable to snooping "
"by the outbound endpoint\n"
"(OBEP) of the client tunnel. This is due to the expense of the ElGamal "
"encryption.\n"
"RouterInfo lookup encryption may be enabled in a future release."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:467
msgid ""
"As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage"
" or a DatabaseSearchReplyMessage)\n"
"will be encrypted by including the session key and tag in the lookup.\n"
"This hides the reply from the inbound gateway (IBGW) of the reply tunnel."
"\n"
"Responses to RouterInfo lookups will be encrypted if we enable the lookup"
" encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:474
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections "
"2.2-2.3 for terms below in italics)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:478
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 <i>recursive</i> nor <i>iterative</i> routing for lookups was "
"implemented.\n"
"Queries were sent through <i>multiple routes simultaneously</i>\n"
"to <i>reduce the chance of query failure</i>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:489
msgid ""
"As of release 0.8.9, <i>iterative lookups</i> 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:501
msgid ""
"<i>Node IDs</i> are <i>verifiable</i> in that we use the router hash "
"directly as both the node ID and the Kademlia key.\n"
"Incorrect responses that are not closer to the search key are generally "
"ignored.\n"
"Given the current size of the network, a router has\n"
"<i>detailed knowledge of the neighborhood of the destination ID space</i>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:510
msgid "RouterInfo Storage Verification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:511
#, python-format
msgid ""
"Note: RouterInfo verification is disabled as of release 0.9.7.1 to "
"prevent\n"
"the attack described in the paper\n"
"<a href=\"%(egger2013)s\">Practical Attacks Against the I2P Network</a>.\n"
"It is not clear if verification can be redesigned to be done safely."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:518
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:526
msgid "LeaseSet Storage Verification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:527
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:537
msgid ""
"As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a "
"DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
"will be encrypted,\n"
"to hide the reply from the inbound gateway (IBGW) of the reply tunnel."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:545
msgid "Exploration"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:546
#, python-format
msgid ""
"<i>Exploration</i> 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 <a "
"href=\"%(i2np)s\">I2NP</a> DatabaseLookupMessage, looking for a random "
"key.\n"
"As this lookup will fail, the floodfill would normally respond with a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage containing "
"hashes of floodfill routers close to the key.\n"
"This would not be helpful, as the requesting router probably already "
"knows those floodfills,\n"
"and it would be impractical to add ALL floodfill routers to the \"don't "
"include\" field of the lookup.\n"
"For an exploration query, the requesting router adds a router hash of all"
" zeros to the\n"
"\"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:560
msgid "Notes on Lookup Responses"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:561
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:571
msgid "MultiHoming"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:573
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:583
msgid "Threat Analysis"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:584
#, python-format
msgid ""
"Also discussed on <a href=\"%(threatmodel)s#floodfill\">the threat model "
"page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:588
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:595
msgid "General Mitigation Through Growth"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:596
#, python-format
msgid ""
"There are currently around %(ffcount)s 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:603
msgid "General Mitigation Through Redundancy"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:604
#, python-format
msgid ""
"Via flooding, all netdb entries are stored on the %(floodsize)s floodfill"
" routers closest to the key."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:609
msgid "Forgeries"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:610
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:615
msgid "Slow or Unresponsive"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:616
#, python-format
msgid ""
"Each router maintains an expanded set of statistics in the\n"
"<a href=\"%(peerselection)s\">peer profile</a> 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:623
msgid "Average response time"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:624
msgid "Percentage of queries answered with the data requested"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:625
msgid "Percentage of stores that were successfully verified"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:626
msgid "Last successful store"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:627
msgid "Last successful lookup"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:628
msgid "Last response"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:631
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:641
msgid "Sybil Attack (Full Keyspace)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:642
#, python-format
msgid ""
"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\n"
"by creating a large number of floodfill routers spread throughout the "
"keyspace."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:647
#, python-format
msgid ""
"(In a related example, a researcher recently created a\n"
"<a href=\"%(url)s\">large number of Tor relays</a>.)\n"
"If successful, this could be an effective DOS attack on the entire "
"network."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:653
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:661
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:666
msgid ""
"Ask everyone in the network to enable floodfill manually (fight Sybil "
"with more Sybil)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:667
msgid "Release a new software version that includes the hardcoded \"bad\" list"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:668
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:672
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:673
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:682
msgid "This attack becomes more difficult as the network size grows."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:688
msgid "Sybil Attack (Partial Keyspace)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:689
#, python-format
msgid ""
"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\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:698
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:706
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:718
msgid ""
"This attack becomes more difficult as the network size grows.\n"
"However, recent research demonstrates that the keyspace rotation is not "
"particularly effective.\n"
"An attacker can precompute numerous router hashes in advance,\n"
"and only a few routers are sufficient to \"eclipse\" a portion\n"
"of the keyspace within a half hour after rotation."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:726
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:736
msgid "Bootstrap Attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:737
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:744
msgid "Several defenses are possible, and most of these are planned:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:748
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:752
msgid "Bundling reseed data in the installer"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:755
msgid "Defenses that are implemented:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:759
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:763
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:768
msgid ""
"As of release 0.9.14, reseed data is bundled into a signed zip file and\n"
"the signature is verified when downloaded."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:776
msgid "Query Capture"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:777
#, python-format
msgid ""
"See also <a href=\"#lookup\">lookup</a>\n"
"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections "
"2.2-2.3 for terms below in italics)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:782
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:787
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:794
#, python-format
msgid ""
"As of release 0.8.9, <i>iterative lookups</i> are implemented.\n"
"For floodfill router references returned in a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
"response to a lookup,\n"
"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 <i>verifiably correct</i>.\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"
"<a href=\"%(pdf)s\">Hashing it out in Public</a>\n"
"is much more difficult."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:813
msgid "DHT-Based Relay Selection"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:814
#, python-format
msgid "(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Section 3)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:818
#, python-format
msgid ""
"This doesn't have much to do with floodfill, but see\n"
"the <a href=\"%(peerselection)s\">peer selection page</a>\n"
"for a discussion of the vulnerabilities of peer selection for tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:824
msgid "Information Leaks"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:825
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymous and Secure "
"Lookup</a> Section 3)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:829
#, 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 <a href=\"%(peerselection)s\">peer "
"selection</a> and\n"
"<a href=\"%(tunnelrouting)s\">tunnel building</a> 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:840
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:848
#, 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 <i>f</i> = 0.2 (20&#37; malicious nodes, as "
"specifed in the paper)\n"
"we expect that many of the Sybil threats we describe\n"
"(<a href=\"%(threatmodel)s#sybil\">here</a>,\n"
"<a href=\"#sybil\">here</a> and\n"
"<a href=\"#sybil-partial\">here</a>)\n"
"become problematic for several reasons."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:862
msgid "Moved to the netdb discussion page"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:866
msgid "End-to-end encryption of additional netDb lookups and responses."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:870
msgid "Better methods for tracking lookup responses."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:2
msgid "Peer Profiling and Selection"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:3
msgid "July 2010"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:8
msgid "Peer Profiling"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:10
#, python-format
msgid ""
"<b>Peer profiling</b> is the process of collecting data based on the "
"<b>observed</b> performance\n"
"of other routers or peers, and classifying those peers into groups.\n"
"Profiling does <b>not</b> use any claimed performance data published by "
"the peer itself\n"
"in the <a href=\"%(netdb)s\">network database</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:17
msgid "Profiles are used for two purposes:"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:19
msgid "Selecting peers to relay our traffic through, which is discussed below"
msgstr ""
"Sélectionner des pairs pour retransmettre notre trafic à travers, ce qui "
"est discuté ci-dessous"
#: 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 <a href=\"%(netdb)s\">network database</a> page"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:27
#: i2p2www/pages/site/docs/how/peer-selection.html:187
#: i2p2www/pages/site/docs/tunnels/implementation.html:289
msgid "Peer Selection"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:28
msgid ""
"<b>Peer selection</b> is the process of choosing which routers\n"
"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 <b>only</b> 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"
"<a href=\"%(threatmodel)s#timing\">timing attacks</a>\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"
"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous "
"Network</a>\n"
"presented at <a href=\"%(url)s\">PET-CON 2009.1</a>.\n"
"See <a href=\"#notes\">below</a> 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 <a href=\"%(url)s\">code</a>."
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"
"<a href=\"%(url)s\">ProfileOrganizer</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:150
msgid "Group size limits"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:151
msgid "The size of the groups may be limited."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:156
msgid ""
"The fast group is limited to 30 peers.\n"
"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 <a href=\"http://blog.torproject.org/blog"
"/one-cell-enough\">some attacks</a>,\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 ""
"Pour réduire la sensibilité à <a href=\"http://blog.torproject.org/blog"
"/one-cell-enough\">certaines attaques</a>,\n"
"et augmenter la performance\n"
"les pairs pour construire des tunnels de client sont choisis "
"aléatoirement à partir du groupe le plus petit, qui est le groupe "
"\"rapide\".\n"
"Il n'y a aucun biais à sélectionner des pairs qui étaient précédemment "
"des participants à un tunnel pour le même client."
#: 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 ""
"Les pairs pour construire des tunnels exploratoires sont généralement "
"choisis aléatoirement à partir du groupe standard.\n"
"Si le taux de réussite de ces tentatives de construction est bas comparé "
"au taux de réussite de construction de tunnel de client,\n"
"au lieu de cela le routeur choisira une moyenne pondérée de pairs "
"aléatoires à partir du groupe de haute capacité.\n"
"Cela aide à maintenir un taux de réussite de construction satisfaisant "
"même quand la performance du réseau est pauvre.\n"
"Il n'y a aucun biais à sélectionner des pairs qui étaient précédemment "
"des participants à un tunnel exploratoire."
#: 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
msgid ""
"A peer may participate in a maximum of 33&#37; of all tunnels created by "
"the router."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:242
msgid "Peers with extremely low bandwidth are not used."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:245
msgid "Peers for which a recent connection attempt failed are not used."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:252
msgid "Peer Ordering in Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:253
#, python-format
msgid ""
"Peers are ordered within tunnels to\n"
"to deal with the <a href=\"%(pdf)s\">predecessor attack</a>\n"
"<a href=\"%(pdf2008)s\">(2008 update)</a>.\n"
"More information is on the <a href=\"%(tunnelimpl)s#ordering\">tunnel "
"page</a>."
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"
"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous "
"Network</a>,\n"
"please keep in mind the following minor changes in I2P since the paper's "
"publication:"
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 "Table des matières"
#: 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:329
msgid "Introduction"
msgstr "Introduction"
#: 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 "Protocoles de transport"
#: i2p2www/pages/site/docs/how/tech-intro.html:17
#: i2p2www/pages/site/docs/how/tech-intro.html:458
msgid "Cryptography"
msgstr "Cryptographie"
#: 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"
"<b>anonymous</b> 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 ""
"Navigation sur le Web : en utilisation n'importe quel navigateur existant"
" qui soutient l'utilisation d'un proxy."
#: i2p2www/pages/site/docs/how/tech-intro.html:41
msgid "Chat: IRC, Jabber, <a href=\"#app.i2pmessenger\">I2P-Messenger</a>."
msgstr "Tchat: IRC, Jabber, <a href=\"#app.i2pmessenger\">I2P-Messenger</a>."
#: i2p2www/pages/site/docs/how/tech-intro.html:42
msgid ""
"File sharing: <a href=\"#app.i2psnark\">I2PSnark</a>, <a "
"href=\"#app.robert\">Robert</a>, <a href=\"#app.imule\">iMule</a>, \n"
"<a href=\"#app.i2phex\">I2Phex</a>, <a href=\"#app.pybit\">PyBit</a>, <a "
"href=\"#app.i2pbt\">I2P-bt</a>\n"
"and others."
msgstr ""
"Partage de fichiers : <a href=\"#app.i2psnark\">I2PSnark</a>, <a "
"href=\"#app.robert\">Robert</a>, <a href=\"#app.imule\">iMule</a>, \n"
"<a href=\"#app.i2phex\">I2Phex</a>, <a href=\"#app.pybit\">PyBit</a>, <a "
"href=\"#app.i2pbt\">I2P-bt</a>\n"
"et autres."
#: i2p2www/pages/site/docs/how/tech-intro.html:47
msgid ""
"E-mail: <a href=\"#app.i2pmail\">susimail</a> and <a href=\"#app.i2pbote"
"\">I2P-Bote</a>."
msgstr ""
"E-mail: <a href=\"#app.i2pmail\">susimail</a> et <a href=\"#app.i2pbote"
"\">I2P-Bote</a>."
#: i2p2www/pages/site/docs/how/tech-intro.html:48
msgid ""
"Blog: using e.g. the pebble plugin or the distributed blogging software "
"<a href=\"#app.syndie\">Syndie</a>."
msgstr ""
"Blog : par exemple en utilisant le plug-in pebble ou le logiciel de blog "
"distribué <a href=\"#app.syndie\">Syndie</a>."
#: 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 ""
"Magasin de données distribué : sauvegardez vos données de façon "
"redondante dans le nuage Tahoe-LAFS par dessus I2P."
#: i2p2www/pages/site/docs/how/tech-intro.html:50
msgid "Newsgroups: using any newsgroup reader that supports using a proxy."
msgstr ""
"Newsgroups : en utilisant n'importe quel lecteur de newsgroups supportant"
" l'utilisation d'un proxy."
#: i2p2www/pages/site/docs/how/tech-intro.html:53
msgid ""
"Unlike web sites hosted within content distribution networks like <a "
"href=\"#similar.freenet\">Freenet</a> \n"
"or <a href=\"http://www.ovmj.org/GNUnet/\">GNUnet</a>, the services "
"hosted on \n"
"I2P are fully interactive - there are traditional web-style search "
"engines, \n"
"bulletin boards, blogs you can comment on, database driven sites, and "
"bridges \n"
"to query static systems like Freenet without needing to install it "
"locally."
msgstr ""
"Contrairement aux sites Web hébergés dans les réseaux de diffusion de "
"contenus tels que <a href=\"#similar.freenet\">Freenet</a>\n"
"ou <a href=\"http://www.ovmj.org/GNUnet/\">GNUnet</a>, les services "
"hébergés dans\n"
"I2P sont entièrement interactifs - il y a des moteurs de recherche de "
"style Web traditionnel,\n"
"des forums, des blogs sur lesquels vous pouvez laisser des commentaires, "
"des sites conduits par base de données, et des ponts\n"
"vers des systèmes de requêtes statiques tels que Freenet sans devoir "
"l'installer localement."
#: 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 <a href=\"#app.streaming\">streaming</a> library to allow I2P's "
"anonymous \n"
"best-effort messages to transfer as reliable, in-order streams, "
"transparently \n"
"offering a TCP based congestion control algorithm tuned for the high "
"bandwidth \n"
"delay product of the network. While there have been several simple SOCKS "
"proxies \n"
"available to tie existing applications into the network, their value has "
"been \n"
"limited as nearly every application routinely exposes what, in an "
"anonymous \n"
"context, is sensitive information. The only safe way to go is to fully "
"audit \n"
"an application to ensure proper operation and to assist in that we "
"provide \n"
"a series of APIs in various languages which can be used to make the most "
"out \n"
"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 <a "
"href=\"%(site)s\">website</a>, \n"
"with the majority of the code released outright into the public domain, "
"though \n"
"making use of a few cryptographic routines under BSD-style licenses. The "
"people \n"
"working on I2P do not control what people release client applications "
"under, \n"
"and there are several GPL'ed applications available (<a "
"href=\"#app.i2ptunnel\">I2PTunnel</a>, \n"
"<a href=\"#app.i2pmail\">susimail</a>, <a "
"href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.i2pbote\">I2P-"
"Bote</a>, \n"
"<a href=\"#app.i2phex\">I2Phex</a> and others.).\n"
"<a href=\"%(halloffame)s\">Funding</a> 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 ""
"I2P n'est pas un projet de recherche - universitaire, commercial, ou "
"gouvernemental, mais \n"
"au lieu de cela il est un effort d'ingénierie visant à faire "
"indépendamment de ceux-ci ce qui nécessaire afin de fournir \n"
"un niveau suffisant d'anonymat à ceux qui en ont besoin. Il a été en "
"développement actif depuis le début de 2003 avec un développeur à plein "
"temps et un groupe de collaborateurs consacrés à temps partiel issus du "
"monde entier. Tout le travail fait sur le code source libre d'I2P est "
"librement disponible sur le <a href=\"%(site)s\">site web</a>,\n"
"avec la majorité du code sorti sans réserve dans le domaine public, "
"quoique \n"
"faisant usage de quelques routines de chiffrement conformément sous "
"licences BSD-style. Les gens\n"
"travaillant sur I2P ne contrôlent pas ce que les gens sortent comme "
"applications clientes dessous,\n"
"et il y a plusieurs applications en GPL disponibles (<a "
"href=\"#app.i2ptunnel\">I2PTunnel</a>, \n"
"<a href=\"#app.i2pmail\">susimail</a>, <a "
"href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.i2pbote\">I2P-"
"Bote</a>, \n"
"<a href=\"#app.i2phex\">I2Phex</a> et autres.).\n"
"Le <a href=\"%(halloffame)s\">financement</a> de I2P vient entièrement de"
" donations\n"
"et ne reçoit pas d'exemptions fiscales dans aucune juridiction en ce "
"moment,\n"
"car nombre de développeurs sont anonyme."
#: 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"
"<b>\"outbound\" tunnels</b> send messages away from the tunnel creator,\n"
"while <b>\"inbound\" tunnels</b> bring messages to the tunnel creator.\n"
"Combining these two tunnels allows users to send messages to each other.\n"
"The sender (\"Alice\" in the above image) sets up an outbound tunnel,\n"
"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 <b>\"network "
"database\"</b> (or \"netDb\") \n"
"- a pair of algorithms used to share network metadata. The two types of "
"metadata \n"
"carried are <b>\"routerInfo\"</b> and <b>\"leaseSets\"</b> - the "
"routerInfo gives routers the \n"
"data necessary for contacting a particular router (their public keys, "
"transport \n"
"addresses, etc), while the leaseSet gives routers the information "
"necessary \n"
"for contacting a particular destination. A leaseSet contains a number of "
"\"leases\".\n"
"Each of this leases specifies a tunnel gateway, which allows reaching a "
"specific destination.\n"
"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"
"<a href=\"#app.streaming\">streaming</a> 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 \"<a "
"href=\"#op.garlic\">garlic \n"
"encryption</a>\" lets Alice's router wrap up multiple messages into a "
"single \n"
"\"garlic message\", encrypted to a particular public key so that "
"intermediary \n"
"peers cannot determine either how many messages are within the garlic, "
"what \n"
"those messages say, or where those individual cloves are destined. For "
"typical \n"
"end to end communication between Alice and Bob, the garlic will be "
"encrypted \n"
"to the public key published in Bob's leaseSet, allowing the message to be"
" \n"
"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 <a href=\"#app.streaming\">streaming</a> 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 <a href=\"%(tunnelimpl)s\">tunnel "
"spec</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:330
#, python-format
msgid ""
"As mentioned earlier, I2P's netDb works to share the network's metadata.\n"
"This is detailed in <a href=\"%(netdb)s\">the network database</a> page,\n"
"but a basic explanation is available below."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:336
msgid ""
"A percentage of I2P users are appointed as 'floodfill peers'.\n"
"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 <a href=\"http://en.wikipedia.org/wiki/Kademlia\">Kademlia "
"algorithm</a>.\n"
"The 'lookup' queries currently function differently, to avoid an "
"important\n"
"<a href=\"%(netdb)s#lookup\">security issue</a>.\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 <b>RouterInfo</b> stores information on a specific I2P router and how "
"to contact it"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:358
msgid ""
"A <b>LeaseSet</b> stores information on a specific destination (e.g. I2P "
"website, e-mail server...)"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:360
msgid ""
"All of this information is signed by the publishing party and verified by"
" any I2P router using or storing the information.\n"
"In addition, the data contains timing information, to avoid storage of "
"old entries and possible attacks.\n"
"This is also why I2P bundles the necessary code for maintaining the "
"correct time, occasionally querying some SNTP servers \n"
"(the <a href=\"http://www.pool.ntp.org/\">pool.ntp.org</a> round robin by"
" default)\n"
"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 <a href=\"%(ssu)s\">UDP-based one</a> - "
"\"Secure \n"
"Semireliable UDP\", or \"SSU\"."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:418
#, python-format
msgid "As described in the <a href=\"%(ssu)s\">SSU spec</a>:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:422
msgid ""
"The goal of this protocol is to provide secure, authenticated, \n"
"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 <a "
"href=\"%(ntcp)s\">NTCP</a> \n"
"was implemented. It is enabled by default for outbound connections only. "
"Those \n"
"who configure their NAT/firewall to allow inbound connections and specify"
" \n"
"the external host and port (dyndns/etc is ok) on /config.jsp can receive "
"inbound \n"
"connections. As NTCP is NIO based, so it doesn't suffer from the 1 thread"
" \n"
"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 <a "
"href=\"%(ntcp)s\">NTCP \n"
"page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:459
msgid ""
"A bare minimum set of cryptographic primitives are combined together to \n"
"provide I2P's layered defenses against a variety of adversaries. At the "
"lowest \n"
"level, inter router communication is protected by the transport layer "
"security \n"
"- SSU encrypts each packet with AES256/CBC with both an explicit IV and "
"MAC \n"
"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a "
"2048bit \n"
"Diffie-Hellman exchange, station-to-station authentication with the other"
" \n"
"router's DSA key, plus each network message has their own hash for local "
"integrity \n"
"checking. <a href=\"#op.tunnels\">Tunnel</a> messages passed over the "
"transports \n"
"have their own layered AES256/CBC encryption with an explicit IV and "
"verified \n"
"at the tunnel endpoint with an additional SHA256 hash. Various other "
"messages \n"
"are passed along inside \"garlic messages\", which are encrypted with "
"ElGamal/AES+SessionTags \n"
"(explained below)."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:474
msgid "Garlic messages"
msgstr "Messages en ail"
#: 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 <a "
"href=\"#future.variablelatency\">nontrivial \n"
"delays</a> are deployed. It is possible to explicitly route garlic "
"messages \n"
"any number of hops without building tunnels, or even to reroute tunnel "
"messages \n"
"by wrapping them in garlic messages and forwarding them a number of hops "
"prior \n"
"to delivering them to the next hop in the tunnel, but those techniques "
"are \n"
"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 "Avenir"
#: 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 ""
"Tandis qu'I2P est actuellement fonctionnel et suffisant pour beaucoup de "
"scénarios, il y a \n"
"plusieurs zones qui exigent de nouvelles améliorations répondant aux "
"besoins de ceux\n"
"affrontant des adversaires plus puissants aussi bien que l'optimisation "
"substantielle de l'expérience utilisateur."
#: 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 <a href=\"%(comparisons)s\">Network Comparisons Page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:684
#: i2p2www/pages/site/docs/how/tech-intro.html:749
msgid "website"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:686
msgid ""
"At first glance, Tor and I2P have many functional and anonymity related \n"
"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 <a href=\"#future.restricted\">2.0</a>."
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 <a href=\"#app.streaming\">streaming"
" library</a> \n"
"as an implementation of an anonymous and secure TCP layer on top of it. "
"Beyond \n"
"that, <a href=\"#app.i2ptunnel\">I2PTunnel</a> exposes a generic TCP "
"proxying \n"
"system for either getting into or out of the I2P network, plus a variety "
"of \n"
"network applications provide further functionality for end users."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:808
msgid "Streaming library"
msgstr "Librarie streaming"
#: 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 <a "
"href=\"http://en.wikipedia.org/wiki/Sliding_Window_Protocol\">sliding "
"window protocol</a>\n"
"with several optimizations, to take into account the high delay over I2P."
"\n"
"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 <a href=\"%(naming)s\">Naming and "
"Addressbook</a> page."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:844
#: i2p2www/pages/site/docs/how/tech-intro.html:918
#: i2p2www/pages/site/docs/how/tech-intro.html:965
#: i2p2www/pages/site/docs/how/tech-intro.html:997
#: i2p2www/pages/site/docs/how/tech-intro.html:1005
#: i2p2www/pages/site/docs/how/tech-intro.html:1013
#: i2p2www/pages/site/docs/how/tech-intro.html:1023
#: i2p2www/pages/site/docs/how/tech-intro.html:1031
#: i2p2www/pages/site/docs/how/tech-intro.html:1053
#, python-format
msgid "Developed by: %(dev)s"
msgstr "Développé par : %(dev)s"
#: 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 <a "
"href=\"http://syndie.i2p2.de/\">Syndie</a>\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 <a "
"href=\"#app.i2pmail\">I2Pmail's</a> \n"
"POP3 and SMTP destinations (which in turn are simply \"server\" instances"
" pointing \n"
"at POP3 and SMTP servers), as well as \"client\" tunnels pointing at "
"I2P's CVS \n"
"server, allowing anonymous development. At times people have even run "
"\"client\" \n"
"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 <a href=\"#app.streaming\">streaming lib</a> 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 <a\n"
"href=\"http://www.klomp.org/mark/\">mjw</a>'s <a\n"
"href=\"http://www.klomp.org/snark/\">Snark</a> client"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:990
msgid ""
"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 <a "
"href=\"http://%(bob)s/Robert.html\">http://%(bob)s/Robert.html</a> <!-- "
"TODO: expand -->"
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 <a href=\"%(pybit)s\">%(pybit)s</a> <!-- TODO: expand -->"
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"
"<a href=\"http://%(postman)s/\">%(postman)s</a>."
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. <br>\n"
"Furthermore, I2P-Bote offers a remailer function on top of I2P, for "
"increased high-latency anonymity."
msgstr ""
"I2P-Bote est une application d'e-mail distribuée . Elle n'utilise pas le "
"traditionnel\n"
"concept de courrier électronique qui est d'envoyer un courrier "
"électronique à un serveur et le recouvrer depuis un serveur.\n"
"Au lieu de cela, elle utilise un une table de hachage distribuée (DHT) "
"Kademlia pour stocker les courriers.\n"
"Un utilisateur peut pousser un courrier vers la DHT, tandis qu'un autre "
"peut demander le courrier électronique depuis la DHT. \n"
"Et tous les courrier envoyés dans le réseau I2P-Bote sont automatiquement"
" chiffrés de bout en bout.<br>\n"
"En outre, I2P-Bote offre une fonction de rediffusion par-dessus I2P, "
"permettant un accroissement d'anonymat au moyen de haute latence."
#: 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 "Modèle de menace d'I2P"
#: i2p2www/pages/site/docs/how/threat-model.html:3
msgid "November 2010"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:7
msgid "low"
msgstr "bas"
#: i2p2www/pages/site/docs/how/threat-model.html:8
msgid "medium"
msgstr "moyen"
#: i2p2www/pages/site/docs/how/threat-model.html:9
msgid "high"
msgstr "élevé"
#: i2p2www/pages/site/docs/how/threat-model.html:34
msgid "Damage Potential"
msgstr "Dommage potentiel"
#: i2p2www/pages/site/docs/how/threat-model.html:35
msgid "Reliability"
msgstr "Fiabilité"
#: i2p2www/pages/site/docs/how/threat-model.html:36
msgid "Exploitability"
msgstr "Exploitabilité"
#: i2p2www/pages/site/docs/how/threat-model.html:37
msgid "Affected Users"
msgstr "Utilisateurs affectés"
#: i2p2www/pages/site/docs/how/threat-model.html:38
msgid "Discoverability"
msgstr "Possibilité de découverte"
#: i2p2www/pages/site/docs/how/threat-model.html:39
msgid "Severity"
msgstr "Sévérité"
#: i2p2www/pages/site/docs/how/threat-model.html:40
#: i2p2www/pages/site/docs/protocol/i2np.html:93
msgid "Priority"
msgstr "Priorité"
#: i2p2www/pages/site/docs/how/threat-model.html:45
msgid "What do we mean by \"anonymous\"?"
msgstr "Qu'entendons-nous \"anonyme\" ?"
#: i2p2www/pages/site/docs/how/threat-model.html:47
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 ""
"Votre niveau d'anonymat peut être décrit comme \"combien est-il dur pour "
"quelqu'un\n"
"de découvrir des informations que vous ne voulez pas qu'ils sache ?\" - "
"qui vous êtes, où \n"
"vous êtes localisé, avec qui vous communiquez, ou même quand vous "
"communiquez.\n"
"L'anonymat \"parfait\" n'est pas un concept utile ici - le logiciel ne "
"permettra pas\n"
"de vous rendre indiscernable des gens qui n'utilisent pas d'ordinateurs "
"ou qui ne sont pas sur\n"
"Internet. Au lieu de cela, nous travaillons à fournir de l'anonymat "
"suffisant pour répondre aux\n"
"besoins réels de quiconque nous pouvons - de ceux naviguant simplement "
"sur des sites Web, à ceux échangeant des données, à ceux craintifs d'être"
" découverts par organisations puissantes ou états."
#: i2p2www/pages/site/docs/how/threat-model.html:58
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 ""
"La question est-ce que I2P fournit de l'anonymat suffisant pour vos\n"
"besoins particuliers est une dure question, mais cette page aidera avec "
"bon espoir à\n"
"répondre à cette question en explorant comment I2P opère sous diverses "
"attaques\n"
"afin que vous puissiez décider s'il répond à vos besoins."
#: i2p2www/pages/site/docs/how/threat-model.html:65
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 ""
"Nous accueillons des recherches plus approfondies et l'analyse de la "
"résistance d'I2P aux menaces décrites ci-dessous.\n"
"Davantage d'examens et de littérature existante (une grande partie de "
"celle-ci est concentré sur Tor) et de travaux\n"
"originaux concentrés sur I2P sont nécessaires."
#: i2p2www/pages/site/docs/how/threat-model.html:71
msgid "Network Topology Summary"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:72
#, python-format
msgid ""
"I2P builds off the ideas of many <a href=\"%(comparisons)s\">other</a> \n"
"<a href=\"%(links)s\">systems</a>, but a few key points should be kept in"
" mind when \n"
"reviewing related literature:"
msgstr ""
"I2P construit des idées de nombreux <a "
"href=\"%(comparisons)s\">autres</a>\n"
"<a href=\"%(links)s\">systèmes</a>, mais quelques points clés devraient "
"être gardés à l'esprit lors\n"
"de l'examen de littérature liée :"
#: i2p2www/pages/site/docs/how/threat-model.html:78
msgid ""
"<b>I2P is a free route mixnet</b> - the message creator explicitly "
"defines the\n"
"path that messages will be sent out (the outbound tunnel), and the "
"message \n"
"recipient explicitly defines the path that messages will be received on "
"(the\n"
"inbound tunnel)."
msgstr ""
"<b>I2P est un mixnet à libres parcours<b> - le créateur du message "
"définit explicitement le\n"
"chemin par lequel les messages sortiront (le tunnel en partance) et le "
"destinataire\n"
"de message définit explicitement le chemin par lequel les messages seront"
" reçus (le\n"
"tunnel arrivant)."
#: i2p2www/pages/site/docs/how/threat-model.html:84
msgid ""
"<b>I2P has no official entry and exit points</b> - 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 ""
"<b>I2P n'a aucun points d'entrée ni sortie officiels</b> - tous les pairs"
" participent entièrement au\n"
"mélange, et il n'y a aucune couche de réseau vers - ou hors - proxies "
"(cependant, au niveau\n"
"de la couche d'application, quelques proxies existent vraiment)"
#: i2p2www/pages/site/docs/how/threat-model.html:89
msgid ""
"<b>I2P is fully distributed</b> - there are no central controls or "
"authorities.\n"
"One could modify some routers to operate mix cascades (building tunnels "
"and giving\n"
"out the keys necessary to control the forwarding at the tunnel endpoint) "
"or directory \n"
"based profiling and selection, all without breaking compatibility with "
"the rest of \n"
"the network, but doing so is of course not necessary (and may even harm "
"one's\n"
"anonymity)."
msgstr ""
"<b>I2P est entièrement distribué</b> - il n'y a aucun contrôle central ni"
" autorité.\n"
"On pourrait modifier quelques routeurs pour opérer des cascades de "
"mélanges (construisant des tunnels et donnant \n"
"les clés nécessaires pour contrôler le transfert au point de sortie de "
"tunnel) ou des annuaires\n"
"basés sur le profilage et la sélection, tout cela sans casser la "
"compatibilité avec le reste du\n"
"réseau, mais le faire n'est bien sûr pas nécessaire (et pourrait même "
"nuire à l'anonymat de quelqu'un)."
#: i2p2www/pages/site/docs/how/threat-model.html:99
#, python-format
msgid ""
"We have documented plans to implement <a "
"href=\"%(todo)s#stop\">nontrivial delays</a>\n"
"and <a href=\"%(todo)s#batching\">batching strategies</a> \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 ""
"Nous avons documenté des plans de mettre en œuvre des <a "
"href=\"%(todo)s#stop\">délais non triviaux</a>\n"
"et <a href=\"%(todo)s#batching\">stratégies de groupage par lot</a>\n"
"dont l'existence est seulement connue par l'étape particulière ou la "
"passerelle de tunnel qui\n"
"reçoit le message, permettant à un mixnet à latence surtout basse de "
"fournir la couverture\n"
"de trafic pour une plus haute latence de communication (par exemple "
"courrier électronique).\n"
"Cependant nous sommes conscients que des retards significatifs sont "
"exigés pour fournir une protection significative,\n"
"et la mise en œuvre de tels retards sera un défi significatif.\n"
"Il n'est pas clair en ce moment si nous mettrons réellement en œuvre ces "
"fonctions de retard."
#: i2p2www/pages/site/docs/how/threat-model.html:110
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 ""
"En théorie, les routeurs au long du chemin du message peuvent injecter un"
"\n"
"nombre arbitraire d'étapes avant expédition du message au pair suivant, "
"quoique \n"
"la mise en œuvre actuelle ne le fait pas."
#: i2p2www/pages/site/docs/how/threat-model.html:117
msgid "The Threat Model"
msgstr "Le modèle de menace"
#: i2p2www/pages/site/docs/how/threat-model.html:118
msgid ""
"I2P design started in 2003, not long after the advent of\n"
"<a href=\"http://www.onion-router.net\">[Onion Routing]</a>,\n"
"<a href=\"http://freenetproject.org/\">[Freenet]</a>, and\n"
"<a href=\"https://www.torproject.org/\">[Tor]</a>.\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:128
msgid ""
"Taking from the attacks and analysis put forth in the \n"
"<a href=\"http://freehaven.net/anonbib/topic.html\">anonymity "
"literature</a> (largely \n"
"<a href=\"http://citeseer.ist.psu.edu/454354.html\">Traffic Analysis: "
"Protocols, Attacks, Design \n"
"Issues and Open Problems</a>), the following briefly describes a wide "
"variety \n"
"of attacks as well as many of I2Ps defenses. We update\n"
"this list to include new attacks as they are identified."
msgstr ""
"Pris depuis les attaques et l'analyse avancée dans la\n"
"<a href=\"http://freehaven.net/anonbib/topic.html\">littérature "
"d'anonymat</a> (largement\n"
"<a href=\"http://citeseer.ist.psu.edu/454354.html\">Traffic Analysis: "
"Protocols, Attacks, Design \n"
"Issues and Open Problems</a>), ce qui suit décrit brièvement une large "
"variété\n"
"d'attaques aussi bien que beaucoup de défenses d'I2Ps. Nous mettons à "
"jour\n"
"cette liste pour inclure de nouvelles attaques lorsqu'elles sont "
"identifiées."
#: i2p2www/pages/site/docs/how/threat-model.html:137
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 ""
"Cela inclue quelques attaques qui peuvent être uniques à I2P.\n"
"Nous n'avons pas de bonnes réponses pour toutes ces attaques, cependant\n"
"nous continuons à faire la recherche et améliorer nos défenses."
#: i2p2www/pages/site/docs/how/threat-model.html:143
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:153
#, python-format
msgid ""
"The\n"
"<a href=\"%(comparisons)s\">network comparisons</a> and\n"
"<a href=\"%(garlicrouting)s\">\"garlic\" terminology</a> pages may also "
"be helpful\n"
"to review."
msgstr ""
"Les\n"
"<a href=\"%(comparisons)s\">comparisons réseau</a> et\n"
"pages <a href=\"%(garlicrouting)s\">terminologie \"ail\" </a> peuvent "
"aussi être utiles\n"
"à examiner."
#: i2p2www/pages/site/docs/how/threat-model.html:182
msgid "Index of Attacks"
msgstr "Index des attaques"
#: i2p2www/pages/site/docs/how/threat-model.html:184
#: i2p2www/pages/site/docs/how/threat-model.html:204
msgid "Brute force attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:185
#: i2p2www/pages/site/docs/how/threat-model.html:248
msgid "Timing attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:186
#: i2p2www/pages/site/docs/how/threat-model.html:285
msgid "Intersection attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:187
#: i2p2www/pages/site/docs/how/threat-model.html:365
msgid "Denial of service attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:188
#: i2p2www/pages/site/docs/how/threat-model.html:464
msgid "Tagging attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:189
#: i2p2www/pages/site/docs/how/threat-model.html:482
msgid "Partitioning attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:190
#: i2p2www/pages/site/docs/how/threat-model.html:522
msgid "Predecessor attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:191
#: i2p2www/pages/site/docs/how/threat-model.html:567
msgid "Harvesting attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:192
#: i2p2www/pages/site/docs/how/threat-model.html:614
msgid "Identification Through Traffic Analysis"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:193
#: i2p2www/pages/site/docs/how/threat-model.html:674
msgid "Sybil attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:194
#: i2p2www/pages/site/docs/how/threat-model.html:723
msgid "Buddy Exhaustion attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:195
#: i2p2www/pages/site/docs/how/threat-model.html:748
msgid "Cryptographic attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:196
msgid "Floodfill attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:197
#: i2p2www/pages/site/docs/how/threat-model.html:809
msgid "Other Network Database attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:198
msgid "Attacks on centralized resources"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:199
#: i2p2www/pages/site/docs/how/threat-model.html:875
msgid "Development attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:200
msgid "Implementation attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:201
#: i2p2www/pages/site/docs/how/threat-model.html:959
msgid "Other Defenses"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:208
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:220
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"
"<a "
"href=\"http://citeseer.ist.psu.edu/freedman02tarzan.html\">Tarzan</a>'s "
"mimics\n"
"or constant rate traffic). Most users are not concerned with this "
"attack, as \n"
"the cost of mounting it are extreme (and often require illegal activity)."
" \n"
"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:237
#, 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"
"<a href=\"%(peerselection)s\">peer selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:252
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:262
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:272
#, 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 <a href=\"%(todo)s#stop\">nontrivial "
"delays</a> or \n"
"<a href=\"%(todo)s#batching\">batching strategies</a>), include protocol "
"scrubbing, or\n"
"other advanced tunnel routing <a "
"href=\"%(todo)s#batching\">techniques</a>,\n"
"but these are unimplemented in I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:281
#, python-format
msgid ""
"References: <a href=\"%(pdf)s\">Low-Resource Routing Attacks Against "
"Anonymous Systems</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:289
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:299
#, 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 <a href=\"%(url)s\">similar disclaimer</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:307
msgid "Partial defenses implemented in I2P:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:311
#, python-format
msgid "<a href=\"%(tunnelimpl)s#ordering\">strict ordering</a> of peers"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:314
#, python-format
msgid ""
"<a href=\"%(peerselection)s\">peer profiling and selection</a> from a "
"small group that changes slowly"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:317
msgid "Limits on the number of tunnels routed through a single peer"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:320
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:323
msgid ""
"For eepsites or other hosted services, we support\n"
"simultaneous hosting on multiple routers, or\n"
"<a href=\"#intersection\">multihoming</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:330
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:335
msgid "We do not use low-bandwidth \"guard nodes\""
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:338
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:341
msgid "Tunnels are not long-lived; new tunnels are built every 10 minutes."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:344
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:351
#, python-format
msgid ""
"In the future, it could\n"
"for peers who can afford significant delays (per <a "
"href=\"%(todo)s#stop\">nontrivial\n"
"delays</a> and <a href=\"%(todo)s#batching\">batching strategies</a>). "
"In addition,\n"
"this is only relevant for destinations that other people know about - a "
"private\n"
"group whose destination is only known to trusted peers does not have to "
"worry,\n"
"as an adversary can't \"ping\" them to mount the attack.</p>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:360
#, python-format
msgid "Reference: <a href=\"%(oce)s\">One Cell Enough</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:367
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:373
msgid ""
"<b>Greedy user attack:</b> This is simply\n"
"people trying to consume significantly more resources than they are \n"
"willing to contribute. The defense against this is:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:379
#, python-format
msgid ""
"Set defaults so that most users provide resources to the network.\n"
"In I2P, users route traffic by default. In sharp distinction to\n"
"<a href=\"%(comparisons)s\">other networks</a>,\n"
"over 95&#37; of I2P users relay traffic for others."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:385
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:390
msgid ""
"Maintain a strong community with blogs, forums, IRC, and other means of "
"communication."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:397
#, python-format
msgid ""
"<b>Starvation attack:</b> A hostile user may attempt to harm the network "
"by\n"
"creating a significant number of peers in the network who are not "
"identified as\n"
"being under control of the same entity (as with Sybil). These nodes then"
" \n"
"decide not to provide any resources to the network, causing existing "
"peers \n"
"to search through a larger network database or request more tunnels than"
" \n"
"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 <a "
"href=\"%(peerselection)s\">profiles</a> 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:417
#, python-format
msgid ""
"<b>Flooding attack:</b> 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 <a "
"href=\"%(todo)s#batching\">advanced tunnel\n"
"operation</a> is implemented)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:436
msgid ""
"<b>CPU load attack:</b> There are currently some methods for people to \n"
"remotely request that a peer perform some cryptographically expensive \n"
"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:449
#, python-format
msgid ""
"<b>Floodfill DOS attack:</b> 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"
"<a href=\"%(peerselection)s\">peer profiling</a> are implemented,\n"
"however there is much more to do.\n"
"For more information see the\n"
"<a href=\"%(netdb)s#threat\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:468
#, 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 <a href=\"%(todo)s#tunnelId\">unique hop ids</a> and "
"other updates,\n"
"colluding peers within the same tunnel can recognize that fact without "
"any \n"
"effort). An attacker in an outbound tunnel and any part of an inbound "
"tunnel cannot \n"
"collude however, as the tunnel encryption pads and modifies the data "
"separately\n"
"for the inbound and outbound tunnels. External attackers cannot do "
"anything,\n"
"as the links are encrypted and messages signed."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:486
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:502
#, 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 <a href=\"#harvesting\">harvesting</a>"
" the network\n"
"database will know when a particular destination has 5 inbound tunnels in"
" their\n"
"LeaseSet while others have only 2 or 3, allowing the adversary to "
"potentially \n"
"partition clients by the number of tunnels selected. Another partition "
"is \n"
"possible when dealing with the <a href=\"%(todo)s#stop\">nontrivial "
"delays</a> and \n"
"<a href=\"%(todo)s#batching\">batching strategies</a>, as the tunnel "
"gateways and the\n"
"particular hops with non-zero delays will likely stand out. However, "
"this data\n"
"is only exposed to those specific hops, so to partition effectively on "
"that \n"
"matter, the attacker would need to control a significant portion of the "
"network\n"
"(and still that would only be a probabilistic partition, as they wouldn't"
" know\n"
"which other tunnels or messages have those delays)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:518
#, python-format
msgid ""
"Also discussed on the <a href=\"%(netdb)s#threat\">network database "
"page</a> (bootstrap attack)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:526
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:536
#, 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 <a href=\"%(peerselection)s\">peer selection</a> algorithm which "
"breaks them\n"
"into tiers. Second, with <a href=\"%(tunnelimpl)s#ordering\">strict "
"ordering</a> of peers\n"
"in a tunnel, the fact that a peer shows up more frequently does not mean "
"they're\n"
"the source. Third, with <a href=\"%(tunnelimpl)s#length\">permuted "
"tunnel length</a>\n"
"(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"
"<a href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a> "
"(unimplemented), only the peer with\n"
"a restricted connection to the target will ever contact the target, while"
" \n"
"attackers will merely run into that gateway."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:553
#, python-format
msgid ""
"The current <a href=\"%(tunnelcreation)s\">tunnel build method</a>\n"
"was specifically designed to combat the predecessor attack.\n"
"See also <a href=\"#intersection\">the intersection attack</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:559
#, python-format
msgid ""
"References: <a href=\"%(pdf2008)s\">%(pdf2008)s</a>\n"
"which is an update to the 2004 predecessor attack paper\n"
"<a href=\"%(pdf2004)s\">%(pdf2004)s</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:571
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:578
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:585
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:588
msgid "Floodfill routers implement query limits as DOS protection"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:591
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:597
#, python-format
msgid ""
"In future implementations,\n"
"<a href=\"%(todo)s#nat\">basic</a> and \n"
"<a href=\"%(todo)s#fullRestrictedRoutes\">comprehensive</a> restricted "
"routes,\n"
"this attack loses much of its power, as the \"hidden\" peers do not "
"publish their\n"
"contact addresses in the network database - only the tunnels through "
"which \n"
"they can be reached (as well as their public keys, etc)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:606
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:618
#, 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 <a href=\"#harvesting\">above</a>, I2P is not specifically "
"designed\n"
"to hide that a computer is running I2P. However, several design decisions"
" made\n"
"in the design of the\n"
"<a href=\"%(transport)s\">transport layer and protocols</a>\n"
"make it somewhat difficult to identify I2P traffic:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:628
msgid "Random port selection"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:631
msgid "Point-to-Point Encryption of all traffic"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:634
msgid ""
"DH key exchange with no protocol bytes or other unencrypted constant "
"fields"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:637
#, python-format
msgid ""
"Simultaneous use of both\n"
"<a href=\"%(ntcp)s\">TCP</a> and\n"
"<a href=\"%(ssu)s\">UDP</a> 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:645
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:649
msgid ""
"Padding at the transport layer to random lengths, especially during the "
"connection handshake"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:652
msgid ""
"Study of packet size distribution signatures, and additional padding as "
"necessary"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:655
msgid ""
"Development of additional transport methods that mimic SSL or other "
"common protocols"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:658
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:661
msgid ""
"Review of methods implemented by various state-level firewalls to block "
"Tor"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:664
msgid "Working directly with DPI and obfuscation experts"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:669
#, python-format
msgid ""
"Reference: <a href=\"%(pdf)s\">Breaking and Improving Protocol "
"Obfuscation</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:678
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&#37; chance to be one of those "
"peers, they\n"
"simply create five times the number of nodes that are in the network and "
"roll \n"
"the dice. When identity is free, Sybil can be a very potent technique "
"for a \n"
"powerful adversary. The primary technique to address this is simply to "
"make \n"
"identity 'non free' - <a "
"href=\"http://www.pdos.lcs.mit.edu/tarzan/\">Tarzan</a>\n"
"(among others) uses the fact that IP addresses are limited, while \n"
"IIP used \n"
"<a href=\"http://www.hashcash.org/\">HashCash</a> to 'charge' for "
"creating a new\n"
"identity. We currently have not implemented any particular technique to "
"address\n"
"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:696
msgid "Requiring HashCash Certificates in various places has two major problems:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:700
msgid "Maintaining backward compatibility"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:703
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:710
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:717
#, python-format
msgid ""
"See the <a href=\"%(netdb)s#threat\">network database page</a>\n"
"for more Sybil discussion."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:727
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymouns and Secure "
"Lookup</a> Section 5.2)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:731
#, 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 <a href=\"#sybil\">Sybil attack</a>.\n"
"This is somewhat mitigated by our\n"
"<a href=\"%(peerselection)s\">peer profiling</a> methods used to monitor "
"the performance\n"
"of peers.\n"
"However, this is a powerful attack as the number of routers approaches\n"
"<i>f</i> = 0.2, or 20&#37; 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:752
#, 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"
"<a href=\"%(cryptography)s\">on the low-level cryptography page</a>. \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 <a href=\"https://torproject.org/\">other anonymity "
"networks</a>.\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:771
#, 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"
"<a href=\"%(cryptography)s\">major undertaking</a>, just as it will be "
"for \n"
"<a href=\"https://torproject.org/\">others</a>.\n"
"Hopefully, through careful planning, we can minimize the disruption, and\n"
"implement mechanisms to make it easier for future transitions."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:780
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:790
msgid "Floodfill Anonymity attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:794
#, python-format
msgid ""
"In addition to the floodfill DOS attacks described\n"
"<a href=\"#ffdos\">above</a>, floodfill routers are uniquely positioned\n"
"to learn about network participants, due to their role\n"
"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 <a href=\"%(netdb)s#threat\">network database page</a>.\n"
"The specific mechanisms by which routers communicate with floodfills have"
" been\n"
"<a href=\"%(netdb)s#delivery\">carefully designed</a>.\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:810
#, python-format
msgid ""
"A hostile user may attempt to harm the network by\n"
"creating one or more floodfill routers and crafting them to offer\n"
"bad, slow, or no responses.\n"
"Several scenarios are discussed on the\n"
"<a href=\"%(netdb)s#threat\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:820
msgid "Central Resource Attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:824
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:834
#, python-format
msgid ""
"The <a href=\"%(site)s\">website</a> is mirrored and uses DNS round-robin"
" for external public access."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:837
#, python-format
msgid ""
"Routers now support <a href=\"%(faq)s#reseed\">multiple external reseed "
"locations</a>,\n"
"however more reseed hosts may be needed, and the handling of unreliable "
"or malicious\n"
"reseed hosts may need improvement."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:842
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:846
msgid "Routers now support multiple default trusted update signers."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:849
msgid ""
"Routers now better handle <a href=\"#ffdos\">multiple unreliable "
"floodfill peers</a>.\n"
"Malicious floodfills <a href=\"#ffdos\">needs</a> <a "
"href=\"#floodfill\">more</a> study."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:853
#, python-format
msgid ""
"The code is now stored in a <a href=\"%(monotone)s\">distributed source "
"control system</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:856
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:860
#, python-format
msgid ""
"<a href=\"%(naming)s\">Naming system services</a>, including addressbook "
"subscription providers, add-host services,\n"
"and jump services, could be malicious. Substantial protections for "
"subscriptions were implemented\n"
"in release 0.6.1.31, with additional enhancements in subsequent releases."
"\n"
"However, all naming services require some measure of trust, see\n"
"<a href=\"%(naming)s\">the naming page</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:867
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:879
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:888
msgid "However, two techniques help defend against these attacks:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:892
#, 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 <a href=\"%(monotone)s\">distributed source control "
"system</a>\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:900
#, 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 <a href=\"%(monotone)s\">distributed source control system</a>,\n"
"a distributed source control system, IRC chat,\n"
"public web servers,\n"
"discussion forums (forum.i2p), and the software distribution sites,\n"
"all available within I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:911
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:916
msgid "Implementation attacks (bugs)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:920
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"
"<a href=\"http://www.haystacknetwork.com/\">security through "
"obscurity</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:931
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:941
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:947
#, 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"
"<a href=\"https://torproject.org/\">other anonymity networks</a>\n"
"may have received. We continue to recruit people to\n"
"<a href=\"%(volunteer)s\">get involved</a> and help."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:960
msgid "Blocklists"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:961
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:967
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:975
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:984
msgid ""
"If a blocklist is hosted at a central location with automatic updates\n"
"the network is vulnerable to a\n"
"<a href=\"#central\">central resource attack</a>.\n"
"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:992
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
msgid "Tunnel Routing"
msgstr "Routage tunnel"
#: 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 <a href=\"%(intro)s\">introduction</a>, 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:30
#: i2p2www/pages/site/docs/tunnels/implementation.html:140
msgid "Inbound Gateway"
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 ""
"<b>Tunnel gateway</b> - the first router in a tunnel. For inbound "
"tunnels,\n"
"this is the one mentioned in the LeaseSet published in the\n"
"<a href=\"%(netdb)s\">network database</a>. For outbound tunnels, the\n"
"gateway is the originating router. (e.g. both A and D above)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:44
msgid ""
"<b>Tunnel endpoint</b> - the last router in a tunnel. (e.g. both C and F"
" above)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:45
msgid ""
"<b>Tunnel participant</b> - 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 ""
"<b>n-Hop tunnel</b> - a tunnel with a specific number of inter-router "
"jumps, e.g.:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:51
msgid "<b>0-hop tunnel</b> - a tunnel where the gateway is also the endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:52
msgid ""
"<b>1-hop tunnel</b> - a tunnel where the gateway talks directly to the "
"endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:53
msgid ""
"<b>2-(or more)-hop tunnel</b> - 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 ""
"<b>Tunnel ID</b> - A <a href=\"%(commonstructures)s#type_TunnelId\">4 "
"byte integer</a>\n"
"different for each hop in a tunnel, and unique among all tunnels on a "
"router.\n"
"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"
"<a href=\"%(tunnelcreation)s\">Tunnel Build Message</a>\n"
"to accomplish their tasks:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:75
msgid "The tunnel gateway gets:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:77
#: i2p2www/pages/site/docs/how/tunnel-routing.html:97
#, python-format
msgid ""
"<b>tunnel encryption key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> 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 ""
"<b>tunnel IV key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> 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 ""
"<b>reply key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> 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 ""
"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
"request"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:90
msgid "<b>tunnel id</b> - 4 byte integer (inbound gateways only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:91
msgid ""
"<b>next hop</b> - what router is the next one in the path (unless this is"
" a 0-hop tunnel, and the gateway is also the endpoint)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:92
#: i2p2www/pages/site/docs/how/tunnel-routing.html:112
msgid "<b>next tunnel id</b> - The tunnel ID on the next hop"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:95
msgid "All intermediate tunnel participants get:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:110
msgid "<b>tunnel id</b> - 4 byte integer"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:111
msgid "<b>next hop</b> - what router is the next one in the path"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:115
msgid "The tunnel endpoint gets:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:117
#, python-format
msgid ""
"<b>tunnel encryption key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
"encrypting\n"
"messages and instructions to the the endpoint (itself)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:121
#, python-format
msgid ""
"<b>tunnel IV key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
"double-encrypting\n"
"the IV to the endpoint (itself)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:125
#, python-format
msgid ""
"<b>reply key</b> - an <a "
"href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> for "
"encrypting\n"
"the reply to the tunnel build request (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:129
msgid ""
"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
"request (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:130
msgid "<b>tunnel id</b> - 4 byte integer (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:131
msgid ""
"<b>reply router</b> - 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 ""
"<b>reply tunnel id</b> - The tunnel ID of the reply router (outbound "
"endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:137
#, python-format
msgid ""
"Details are in the\n"
"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:142
msgid "Tunnel pooling"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:143
#, python-format
msgid ""
"Several tunnels for a particular purpose may be grouped into a \"tunnel "
"pool\",\n"
"as described in the\n"
"<a href=\"%(tunnelimpl)s#tunnel.pooling\">tunnel specification</a>.\n"
"This provides redundancy and additional bandwidth.\n"
"The pools used by the router itself are called \"exploratory tunnels\".\n"
"The pools used by applications are called \"client tunnels\"."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:154
msgid "Tunnel length"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:155
#, python-format
msgid ""
"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"
"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
"The maximum number of hops in a tunnel is 7."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:171
msgid "0-hop tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:172
msgid ""
"With no remote routers in a tunnel, the user has very basic plausible\n"
"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 <a href=\"%(threatmodel)s\">threat model</a>)."
" However,\n"
"if the adversary ran a sufficient number of routers such that the single "
"remote\n"
"router in the tunnel is often one of those compromised ones, they would "
"be able\n"
"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 <a href=\"%(url)s\">some attacks</a>,\n"
"3 or more hops are recommended for the highest level of protection.\n"
"<a href=\"%(url)s\">Recent studies</a>\n"
"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"
"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
"Most applications use 2 or 3 hops as their default."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:218
msgid "Tunnel testing"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:219
#, python-format
msgid ""
"All tunnels are periodically tested by their creator by sending a\n"
"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"
"<a href=\"%(peerselection)s#capacity\">capacity rating in the peer "
"profile</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:230
msgid "Tunnel creation"
msgstr "Création de tunnel"
#: i2p2www/pages/site/docs/how/tunnel-routing.html:231
#, python-format
msgid ""
"Tunnel creation is handled by <a href=\"%(garlicrouting)s\">garlic "
"routing</a>\n"
"a Tunnel Build Message to a router, requesting that they participate in "
"the\n"
"tunnel (providing them with all of the appropriate information, as above,"
" along\n"
"with a certificate, which right now is a 'null' cert, but will support "
"hashcash\n"
"or other non-free certificates when necessary).\n"
"That router forwards the message to the next hop in the tunnel.\n"
"Details are in the\n"
"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:245
#, python-format
msgid ""
"Multi-layer encryption is handled by <a href=\"%(garlicrouting)s\">garlic"
" encryption</a>\n"
"of tunnel messages.\n"
"Details are in the\n"
"<a href=\"%(tunnelimpl)s\">tunnel specification</a>.\n"
"The IV of each hop is encrypted with a separate key as explained there."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:257
msgid ""
"Other tunnel test techniques could be used, such as\n"
"garlic wrapping a number of tests into cloves, testing individual tunnel\n"
"participants separately, etc."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:263
msgid "Move to 3-hop exploratory tunnels defaults."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:267
msgid ""
"In a distant future release,\n"
"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:288
msgid "Unidirectional tunnels"
msgstr "Tunnels unidirectionels"
#: i2p2www/pages/site/docs/how/tunnel-routing.html:290
msgid "Tunnel message specification"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:292
msgid "Garlic routing"
msgstr "Routage en oignon"
#: 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.\n"
"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 is implemented in Java, to provide the\n"
"<a href=\"%(url)s\">Client SDK</a>.\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.\n"
"There is also a <a href=\"%(libi2cp)s\">C library implementation</a>.\n"
"A non-Java client would also have to implement the\n"
"<a href=\"%(streaming)s\">streaming library</a> for TCP-style connections."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:31
#, python-format
msgid ""
"Applications can take advantage of the base I2CP plus the \n"
"<a href=\"%(streaming)s\">streaming</a> and <a "
"href=\"%(datagrams)s\">datagram</a> libraries\n"
"by using the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> or <a "
"href=\"%(bob)s\">BOB</a> protocols,\n"
"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:43
#, 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 <a href=\"%(elgamalaes)s\">ElGamal/AES end-to-end "
"encryption</a>\n"
"which is implemented in the router.\n"
"The only cryptography that client libraries must still implement is\n"
"<a href=\"%(cryptography)s#DSA\">DSA public/private key signing</a>\n"
"for <a href=\"%(i2cp)s#msg_CreateLeaseSet\">LeaseSets</a> and\n"
"<a href=\"%(i2cp)s#struct_SessionConfig\">Session Configurations</a>, and"
" management of those keys."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:56
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 "
"<tt>i2cp.tcp.bindAllInterfaces=true</tt> 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:65
#, python-format
msgid ""
"The router also supports external connections over SSL.\n"
"While SSL is not the default, it is strongly recommended for any traffic "
"that may\n"
"be exposed to the open Internet. The authorization user/password (if "
"any), the\n"
"<a href=\"%(commonstructures)s#type_PrivateKey\">Private Key</a> and\n"
"<a href=\"%(commonstructures)s#type_SigningPrivateKey\">Signing Private "
"Key</a> for the\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>\n"
"are all transmitted in-the-clear unless SSL is enabled."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:75
msgid "I2CP Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:76
#, python-format
msgid "Now on the <a href=\"%(i2cp)s\">I2CP Specification page</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:81
msgid "I2CP Initialization"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:82
#, python-format
msgid ""
"When a client connects to the router, it first sends a single protocol "
"version byte (0x2A).\n"
"Then it sends a <a href=\"%(i2cp)s#msg_GetDate\">GetDate Message</a> and "
"waits for the <a href=\"%(i2cp)s#msg_SetDate\">SetDate Message</a> "
"response.\n"
"Next, it sends a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession "
"Message</a> containing the session configuration.\n"
"It next awaits a <a href=\"%(i2cp)s#msg_RequestLeaseSet\">RequestLeaseSet"
" Message</a> from the router, indicating that inbound tunnels\n"
"have been built, and responds with a CreateLeaseSetMessage containing the"
" signed LeaseSet.\n"
"The client may now initiate or receive connections from other I2P "
"destinations."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:91
msgid "I2CP Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:92
#: i2p2www/pages/site/docs/protocol/i2cp.html:99
msgid "Router-side Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:93
#, python-format
msgid ""
"The following options are traditionally passed to the router via\n"
"a <a href=\"%(i2cp)s#struct_SessionConfig\">SessionConfig</a> contained "
"in a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession Message</a> or "
"a <a href=\"%(i2cp)s#msg_ReconfigureSession\">ReconfigureSession "
"Message</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:104
#: i2p2www/pages/site/docs/protocol/i2cp.html:479
msgid "As Of Release"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:105
#: i2p2www/pages/site/docs/protocol/i2cp.html:480
msgid "Recommended Arguments"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:106
#: i2p2www/pages/site/docs/protocol/i2cp.html:481
msgid "Allowable Range"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:117
msgid ""
"The timeout (ms) for all sent messages. Unused.\n"
"See the protocol specification for per-message settings."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:129
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:141
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:153
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:162
msgid "Should generally be set to true for clients and false for servers"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:171
#: i2p2www/pages/site/docs/protocol/i2cp.html:519
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:183
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:195
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.\n"
"Warning - username and password are sent in the clear to the router, "
"unless using SSL (i2cp.SSL=true).\n"
"Authorization is only recommended when using SSL."
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:232
#: i2p2www/pages/site/docs/protocol/i2cp.html:241
#: i2p2www/pages/site/docs/protocol/i2cp.html:250
#: i2p2www/pages/site/docs/protocol/i2cp.html:262
#: i2p2www/pages/site/docs/protocol/i2cp.html:274
#: i2p2www/pages/site/docs/protocol/i2cp.html:283
#: i2p2www/pages/site/docs/protocol/i2cp.html:292
#: i2p2www/pages/site/docs/protocol/i2cp.html:307
#: i2p2www/pages/site/docs/protocol/i2cp.html:343
#: i2p2www/pages/site/docs/protocol/i2cp.html:355
#: i2p2www/pages/site/docs/protocol/i2cp.html:368
#, python-format
msgid "number from %(from)s to %(to)s"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:233
#: i2p2www/pages/site/docs/protocol/i2cp.html:242
#: i2p2www/pages/site/docs/protocol/i2cp.html:369
msgid "No limit"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:235
msgid "Number of redundant fail-over for tunnels in"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:244
msgid "Number of redundant fail-over for tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:251
#: i2p2www/pages/site/docs/protocol/i2cp.html:263
#: i2p2www/pages/site/docs/protocol/i2cp.html:275
#: i2p2www/pages/site/docs/protocol/i2cp.html:284
#: i2p2www/pages/site/docs/protocol/i2cp.html:293
#: i2p2www/pages/site/docs/protocol/i2cp.html:308
#: i2p2www/pages/site/docs/protocol/i2cp.html:344
#: i2p2www/pages/site/docs/protocol/i2cp.html:356
#: i2p2www/pages/site/docs/protocol/i2cp.html:608
#, python-format
msgid "%(from)s to %(to)s"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:253
#: i2p2www/pages/site/docs/protocol/i2cp.html:265
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:277
msgid "Length of tunnels in"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:286
msgid "Length of tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:295
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:310
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:325
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:337
msgid "Name of tunnel - generally ignored unless inbound.nickname is unset."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:346
msgid ""
"Priority adjustment for outbound messages.\n"
"Higher is higher priority."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:358
msgid ""
"Number of tunnels in.\n"
"Limit was increased from 6 to 16 in release 0.9; however, numbers higher "
"than 6 are\n"
"incompatible with older releases."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:371
msgid "Number of tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:380
msgid "Used for consistent peer ordering across restarts."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:399
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:411
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:423
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:430
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:438
msgid "Unidirectional communication, no reply required"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:439
msgid "LeaseSet is published and higher reply latency is acceptable"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:440
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:453
msgid ""
"Note: Large quantity, length, or variance settings may cause significant "
"performance or reliability problems."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:457
#, python-format
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."
"\n"
"Since options are encoded in a <a "
"href=\"%(commonstructures)s#type_Mapping\">Mapping</a>,\n"
"all option names and values are limited to 255 bytes (not characters) "
"maximum."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:465
#: i2p2www/pages/site/docs/protocol/i2cp.html:474
msgid "Client-side Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:466
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:490
#: i2p2www/pages/site/docs/protocol/i2cp.html:590
#, python-format
msgid "%(num)s minimum"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:492
msgid "(ms) Idle time required (default 30 minutes)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:501
msgid "Close I2P session when idle"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:510
msgid "Encrypt the lease"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:531
msgid "Gzip outbound data"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:540
msgid "For encrypted leasesets. Base 64 SessionKey (44 characters)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:549
msgid ""
"Base 64 private key for encryption.\n"
"Optionally preceded by the key type and ':'.\n"
"Only \"ELGAMAL_2048:\" is supported, which is the default.\n"
"I2CP will generate the public key from the private key.\n"
"Use for persistent leaseset keys across restarts."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:564
msgid ""
"Base 64 private key for signatures.\n"
"Optionally preceded by the key type and ':'.\n"
"DSA_SHA1 is the default.\n"
"Key type must match the signature type in the destination.\n"
"I2CP will generate the public key from the private key.\n"
"Use for persistent leaseset keys across restarts."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:580
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:592
msgid "(ms) Idle time required (default 20 minutes, minimum 5 minutes)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:601
msgid "Reduce tunnel quantity when idle"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:610
msgid "Tunnel quantity when reduced (applies to both inbound and outbound)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:619
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:631
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:643
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:650
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:656
msgid "I2CP Payload Data Format and Multiplexing"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:657
#, python-format
msgid ""
"The end-to-end messages handled by I2CP (i.e. the data sent by the client"
" in a\n"
"<a href=\"%(i2cp)s#msg_SendMessage\">SendMessageMessage</a>\n"
"and received by the client in a\n"
"<a href=\"%(i2cp)s#msg_MessagePayload\">MessagePayloadMessage</a>)\n"
"are gzipped with a standard 10-byte gzip\n"
"header beginning with 0x1F 0x8B 0x08 as\n"
"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC "
"1952</a>.\n"
"As of release 0.7.1, I2P uses ignored portions of the gzip header to "
"include\n"
"protocol, from-port, and to-port information, thus supporting streaming "
"and\n"
"datagrams on the same destination, and allowing query/response using "
"datagrams\n"
"to work reliably in the presence of multiple channels."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:671
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:677
#: i2p2www/pages/site/docs/protocol/i2np.html:32
msgid "Bytes"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:678
msgid "Content"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:683
msgid "Gzip header"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:688
msgid "Gzip flags"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:693
msgid "I2P Source port (Gzip mtime)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:698
msgid "I2P Destination port (Gzip mtime)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:703
msgid "Gzip xflags"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:708
msgid "I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:712
msgid ""
"Data integrity is verified with the standard gzip CRC-32 as\n"
"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC 1952</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:720
msgid ""
"The current authorization mechanism could be modified to use hashed "
"passwords."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:724
msgid ""
"The Signing Private Keys is included in the Create Lease Set message,\n"
"it is not required. Revocation is unimplemented.\n"
"It should be replaced with random data or removed."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:730
#, python-format
msgid ""
"Some improvements may be able to use messages previously defined but not "
"implemented.\n"
"For reference, here is the\n"
"<a href=\"%(pdf1)s\">I2CP Protocol Specification Version 0.9</a>\n"
"(PDF) dated August 28, 2003.\n"
"That document also references the\n"
"<a href=\"%(pdf2)s\">Common Data Structures Specification Version 0.9</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:2
msgid "I2P Network Protocol"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:3
msgid "June 2013"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:6
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:14
msgid "I2NP Definition"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:15
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:22
#, python-format
msgid ""
"The priorities listed below may not be current and are subject to change."
"\n"
"See the <a href=\"%(outnetmessage)s\">OutNetMessage Javadocs</a>\n"
"for the current priority settings.\n"
"Priority queueing implementation may vary."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:29
msgid "Message Format"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:32
#: i2p2www/pages/site/docs/spec/streaming.html:35
msgid "Field"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:33
msgid "Unique ID"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:34
msgid "Expiration"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:35
#: i2p2www/pages/site/docs/protocol/i2np.html:92
msgid "Payload Length"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:36
msgid "Checksum"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:37
msgid "Payload"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:40
#, 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"
"<a href=\"%(tunnelimpl)s\">the tunnel implementation page</a>.\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:48
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:54
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:60
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:68
msgid "Message Types"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:69
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:80
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:90
msgid "Message"
msgstr "Message"
#: i2p2www/pages/site/docs/protocol/i2np.html:91
#: i2p2www/pages/site/docs/spec/common-structures.html:16
#: i2p2www/pages/site/docs/spec/common-structures.html:144
#: i2p2www/pages/site/docs/spec/common-structures.html:183
#: i2p2www/pages/site/docs/spec/common-structures.html:222
msgid "Type"
msgstr "Type"
#: i2p2www/pages/site/docs/protocol/i2np.html:94
msgid "Comments"
msgstr "Commentaires"
#: i2p2www/pages/site/docs/protocol/i2np.html:102
msgid "May vary"
msgstr "Pourrait varier"
#: i2p2www/pages/site/docs/protocol/i2np.html:108
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:117
msgid "Varies"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:119
msgid ""
"Priority may vary.\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:133
msgid "Priority may vary on a per-destination basis"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:143
msgid ""
"Used for message replies, and for testing tunnels - generally wrapped in "
"a GarlicMessage"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:151
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:178
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:198
msgid "Shorter TunnelBuildMessage as of 0.7.12"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:206
msgid "Shorter TunnelBuildReplyMessage as of 0.7.12"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:209
#, python-format
msgid "Others listed in <a href=\"%(pdf)s\">2003 Spec</a>"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:215
msgid "Obsolete, Unused"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:219
msgid "Full Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:220
#, python-format
msgid ""
"<a href=\"%(i2npspec)s\">On the I2NP Specification page</a>.\n"
"See also the\n"
"<a href=\"%(commonstructures)s\">Common Data Structure Specification "
"page</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:227
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 <a href=\"%(docs)s\">Index to Technical Documentation</a>."
msgstr ""
"Voici la pile protocole pour I2P.\n"
"Voir aussi l'<a href=\"%(docs)s\">index de la documentation technique</a>."
#: 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 ""
"<b>I2P Transport Layer:</b> provide encrypted connections between 2 I2P "
"routers. These are not anonymous yet, this is strictly a hop-to-hop "
"connection.\n"
"Two protocols are implemented to provide these capabilities. NTCP builds "
"on top of TCP, while SSU uses UDP."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:35
msgid "NIO-based TCP"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:37
msgid "Secure Semi-reliable UDP"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:40
msgid "<b>I2P Tunnel Layer:</b> provide full encrypted tunnel connections."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:42
#, python-format
msgid ""
"<a href=\"%(tunnelmessage)s\">Tunnel messages</a>: tunnel messages are "
"large messages containing encrypted I2NP (see below) messages and "
"encrypted instructions for their delivery.\n"
"The encryption is layered. The first hop will decrypt the tunnel message "
"and read a part. Another part can still be encrypted (with another key),"
"\n"
"so it will be forwarded."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:48
#, python-format
msgid ""
"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are"
" used to pass messages through multiple routers. These I2NP messages are "
"combined in tunnel messages."
msgstr ""
"<a href=\"%(i2np)s\">I2NP messages</a> : les messages du protocole réseau"
" I2P sont utilisé pour passer des messages à travers de multiples "
"routeurs. Ces messages I2NP sont combinés dans des tunnels de messages."
#: i2p2www/pages/site/docs/protocol/index.html:53
msgid ""
"<b>I2P Garlic Layer:</b> provide encrypted and anonymous end-to-end I2P "
"message delivery."
msgstr ""
"<b>I2P couche Ail :</b> fournit la livraison de message I2P chiffrés et "
"anonymes de bout à bout."
#: i2p2www/pages/site/docs/protocol/index.html:55
#, python-format
msgid ""
"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are"
" wrapped in each other and used to ensure encryption between two tunnels "
"and are passed along from source to destination, keeping both anonymous."
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 ""
"<b>I2P Client Layer:</b> 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 ""
"<a href=\"%(i2cp)s\">I2CP</a>: 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 ""
"<b>I2P End-to-end Transport Layer:</b> allow TCP- or UDP-like "
"functionality on top of I2P."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:76
#, python-format
msgid ""
"<a href=\"%(streaming)s\">Streaming Library</a>: 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 ""
"<a href=\"%(datagrams)s\">Datagram Library</a>: 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 ""
"<b>I2P Application Interface Layer:</b> additional (optional) libraries "
"allowing easier implementations on top of I2P."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:93
msgid "<b>I2P Application Proxy Layer:</b> proxy systems."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:95
#, python-format
msgid "HTTP Client/Server, IRC Client, <a href=\"%(socks)s\">SOCKS</a>, Streamr"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:99
msgid ""
"Finally, what could be considered the <b>'I2P application layer'</b>, is "
"a large number of applications on top of I2P.\n"
"We can order this based on the I2P stack layer they use."
msgstr ""
"Finalement, ce que l'on pourrait considérer être la <b>'couche "
"d'application I2P'</b>, est un grand nombre de d'applications au-dessus "
"d'I2P.\n"
"Nous pouvons ordonner ceci en nous basant sur la couche de pile d'I2P "
"qu'elles utilisent."
#: i2p2www/pages/site/docs/protocol/index.html:104
msgid "<b>Streaming/datagram applications</b>: i2psnark, Syndie, i2phex..."
msgstr "<b>Streaming/applications de datagramme</b> : i2psnark, Syndie, i2phex..."
#: i2p2www/pages/site/docs/protocol/index.html:105
msgid "<b>SAM/BOB applications</b>: IMule, i2p-bt, i2prufus, Robert..."
msgstr "<b>Applications SAM/BOB</b>: IMule, i2p-bt, i2prufus, Robert..."
#: i2p2www/pages/site/docs/protocol/index.html:106
#, python-format
msgid ""
"<b>Other I2P applications</b>: Syndie, EepGet, <a "
"href=\"%(plugins)s\">plugins</a>..."
msgstr ""
"<b>Autres applications I2P</b> : Syndie, EepGet, <a "
"href=\"%(plugins)s\">plugins</a>..."
#: i2p2www/pages/site/docs/protocol/index.html:107
msgid ""
"<b>Regular applications</b>: Jetty, Apache, Monotone, CVS, browsers, "
"e-mail..."
msgstr ""
"<b>Applications habituelles</b>: Jetty, Apache, Monotone, CVS, browsers, "
"e-mail..."
#: 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 "Blockfile and Hosts Database Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:7
#, python-format
msgid ""
"This document specifies\n"
"the I2P blockfile file format\n"
"and the tables in the hostsdb.blockfile used by the Blockfile <a "
"href=\"%(naming)s\">Naming Service</a>."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:13
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:23
#, 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"
"<a href=\"%(url)s\">Metanotion Blockfile Database</a>.\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:31
msgid "Blockfile Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:32
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:39
msgid ""
"All 2-byte integer values are unsigned.\n"
"All 4-byte integer values (page numbers) are signed and negative values "
"are illegal.\n"
"All integer values are stored in network byte order (big endian)."
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:67
msgid "Skip list block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:85
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:100
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:117
msgid "Span Continuation block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:128
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:144
msgid "Free list block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:156
msgid "Free page block format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:165
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:170
msgid "Blockfile Naming Service Tables"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:171
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:176
msgid "Properties Skiplist"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:177
#, python-format
msgid ""
"%(INFO)s is the master database skiplist with String/Properties key/value"
" entries containing only one entry:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:189
msgid "Reverse Lookup Skiplist"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:190
#, python-format
msgid ""
"%(REVERSE)s 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:204
msgid "hosts.txt, userhosts.txt, and privatehosts.txt Skiplists"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:205
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:216
msgid "The DestEntry Properties typically contains:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:225
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 structures Specification"
msgstr "Spécification des structures communes "
#: i2p2www/pages/site/docs/spec/common-structures.html:3
#: i2p2www/pages/site/docs/spec/streaming.html:3
msgid "August 2014"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:6
#, python-format
msgid ""
"This document describes some data types common to all I2P protocols, like"
"\n"
"<a href=\"%(i2np)s\">I2NP</a>, <a href=\"%(i2cp)s\">I2CP</a>,\n"
"<a href=\"%(ssu)s\">SSU</a>, etc."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:42
msgid "Represents a non-negative integer.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:45
#: i2p2www/pages/site/docs/spec/common-structures.html:56
#: i2p2www/pages/site/docs/spec/common-structures.html:66
#: i2p2www/pages/site/docs/spec/common-structures.html:79
#: i2p2www/pages/site/docs/spec/common-structures.html:94
#: i2p2www/pages/site/docs/spec/common-structures.html:107
#: i2p2www/pages/site/docs/spec/common-structures.html:119
#: i2p2www/pages/site/docs/spec/common-structures.html:132
#: i2p2www/pages/site/docs/spec/common-structures.html:171
#: i2p2www/pages/site/docs/spec/common-structures.html:210
#: i2p2www/pages/site/docs/spec/common-structures.html:249
#: i2p2www/pages/site/docs/spec/common-structures.html:261
#: i2p2www/pages/site/docs/spec/common-structures.html:273
#: i2p2www/pages/site/docs/spec/common-structures.html:285
#: i2p2www/pages/site/docs/spec/common-structures.html:450
#: i2p2www/pages/site/docs/spec/common-structures.html:538
#: i2p2www/pages/site/docs/spec/common-structures.html:604
#: i2p2www/pages/site/docs/spec/common-structures.html:673
#: i2p2www/pages/site/docs/spec/common-structures.html:720
#: i2p2www/pages/site/docs/spec/common-structures.html:848
#: i2p2www/pages/site/docs/spec/common-structures.html:916
#: i2p2www/pages/site/docs/spec/streaming.html:35
msgid "Contents"
msgstr "Contenus"
#: i2p2www/pages/site/docs/spec/common-structures.html:46
msgid "1 to 8 bytes in network byte order representing an unsigned integer\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:52
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:57
msgid "8 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:63
msgid "Represents a UTF-8 encoded string.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:67
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:75
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:80
msgid "1 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:84
msgid "Deprecated - unused\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:90
#, python-format
msgid ""
"This structure is used in ElGamal encryption, representing only the "
"exponent, not the primes, which are constant and defined in\n"
"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:95
#: i2p2www/pages/site/docs/spec/common-structures.html:108
msgid "256 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:103
#, python-format
msgid ""
"This structure is used in ElGamal decryption, representing only the "
"exponent, not the primes which are constant and defined in\n"
"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:116
msgid "This structure is used for AES256 encryption and decryption.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:120
#: i2p2www/pages/site/docs/spec/common-structures.html:250
#: i2p2www/pages/site/docs/spec/common-structures.html:262
msgid "32 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:129
msgid "This structure is used for verifying signatures.\n"
msgstr "Cette structure est utilisée pour vérifier des signatures.\n"
#: i2p2www/pages/site/docs/spec/common-structures.html:133
msgid ""
"Key type and length are inferred from context or are specified in the Key"
" Certificate of a Destination.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:136
#: i2p2www/pages/site/docs/spec/common-structures.html:175
#: i2p2www/pages/site/docs/spec/common-structures.html:214
msgid "The default type is DSA_SHA1.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:139
#: i2p2www/pages/site/docs/spec/common-structures.html:178
#: i2p2www/pages/site/docs/spec/common-structures.html:217
msgid ""
"As of release 0.9.12, other types may be supported, depending on context."
"\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:144
#: i2p2www/pages/site/docs/spec/common-structures.html:183
#: i2p2www/pages/site/docs/spec/common-structures.html:222
msgid "Length (bytes)"
msgstr "Longueur (octets)"
#: i2p2www/pages/site/docs/spec/common-structures.html:144
#: i2p2www/pages/site/docs/spec/common-structures.html:183
#: i2p2www/pages/site/docs/spec/common-structures.html:222
#: i2p2www/pages/site/docs/spec/common-structures.html:386
msgid "Since"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:157
#: i2p2www/pages/site/docs/spec/common-structures.html:196
msgid ""
"When a key is composed of two elements (for example points X,Y), it is "
"serialized by\n"
"padding each element to length/2 with leading zeros if necessary."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:168
msgid "This structure is used for creating signatures.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:172
msgid "Key type and length are specified when created.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:207
msgid "This structure represents the signature of some data.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:211
msgid "Signature type and length are inferred from the type of key used.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:235
msgid ""
"When a signature is composed of two elements (for example values R,S), it"
" is serialized by\n"
"padding each element to length/2 with leading zeros if necessary."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:246
msgid "Represents the SHA256 of some data.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:258
msgid "A random number\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:270
msgid "Defines an identifier that is unique to each router in a tunnel.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:274
msgid "4 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:282
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:286
msgid ""
"1 byte <a href=\"#type_Integer\">Integer</a> specifying certificate type,"
" followed by a 2 byte <a href=\"#type_Integer\">Integer</a> specifying "
"the size of the certificate payload, then that many bytes.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:313
msgid ""
"For <a href=\"#struct_RouterIdentity\">Router Identities</a>, the "
"Certificate is always NULL through version 0.9.15.\n"
"As of 0.9.16, a Key Certificate may be used to specify the signing public"
" key type. See below."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:318
#, python-format
msgid ""
"For <a href=\"%(i2np)s#struct_GarlicClove\">Garlic Cloves</a>, the "
"Certificate is always NULL, no others are currently implemented."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:322
#, python-format
msgid ""
"For <a href=\"%(i2np)s#msg_Garlic\">Garlic Messages</a>, the Certificate "
"is always NULL, no others are currently implemented."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:326
msgid ""
"For <a href=\"#struct_Destination\">Destinations</a>, the Certificate may"
" be non-NULL.\n"
"As of 0.9.12, a Key Certificate may be used to specify the signing public"
" key type. See below."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:332
msgid "Certificate Types"
msgstr "Types de certificat"
#: i2p2www/pages/site/docs/spec/common-structures.html:356
msgid "Key Certificates"
msgstr "Certificats de clés"
#: i2p2www/pages/site/docs/spec/common-structures.html:447
msgid "A set of key/value mappings or properties\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:451
msgid "A 2-byte size Integer followed by a series of String=String; pairs\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:478
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:482
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:486
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:492
msgid ""
"The encoding allows duplicate keys, however in any usage where the "
"mapping is signed,\n"
"duplicates may cause a signature failure."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:497
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.\n"
"Duplicate keys are not allowed."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:503
#, python-format
msgid ""
"Mappings contained in an <a href=\"%(i2cp)s#struct_SessionConfig\">I2CP "
"SessionConfig</a>\n"
"must be sorted by key so that the signature will be invariant.\n"
"Duplicate keys are not allowed."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:509
msgid ""
"The sort method is defined as in Java String.compareTo(),\n"
"using the Unicode value of the characters."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:514
msgid ""
"While it is application-dependent, keys and values are generally case-"
"sensitive."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:518
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:522
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:531
msgid "Common structure specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:535
msgid "Defines the way to uniquely identify a particular router\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:539
msgid ""
"<a href=\"#type_PublicKey\">PublicKey</a> followed by <a "
"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
"href=\"#type_Certificate\">Certificate</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:584
msgid ""
"The certificate for a RouterIdentity is currently unused and is always "
"NULL."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:601
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:605
msgid ""
"<a href=\"#type_PublicKey\">PublicKey</a> followed by a <a "
"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
"href=\"#type_Certificate\">Certificate</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:670
msgid ""
"Defines the authorization for a particular tunnel to receive messages "
"targeting a <a href=\"#struct_Destination\">Destination</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:674
msgid ""
"SHA256 <a href=\"#type_Hash\">Hash</a> of the\n"
"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> of the gateway "
"router, then the <a href=\"#type_TunnelId\">TunnelId</a>, and finally an "
"end <a href=\"#type_Date\">Date</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:705
msgid "Total size: 44 bytes"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:715
msgid ""
"Contains all of the currently authorized <a "
"href=\"#struct_Lease\">Lease</a>s for a particular <a "
"href=\"#struct_Destination\">Destination</a>, the <a "
"href=\"#type_PublicKey\">PublicKey</a> to which garlic messages can be "
"encrypted,\n"
"and then the <a href=\"#type_SigningPublicKey\">public key</a> that can "
"be used to revoke this particular version of the structure. The <a "
"href=\"#struct_LeaseSet\">LeaseSet</a> is one of the two structures "
"stored in the network database(\n"
"the other being <a href=\"#struct_RouterInfo\">RouterInfo</a>), and is "
"keyed under the SHA256 of the contained <a "
"href=\"#struct_Destination\">Destination</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:721
msgid ""
"<a href=\"#struct_Destination\">Destination</a>, followed by a <a "
"href=\"#type_PublicKey\">PublicKey</a> for encryption, then a <a "
"href=\"#type_SigningPublicKey\">SigningPublicKey</a> which can be used to"
" revoke this version of the <a href=\"#struct_LeaseSet\">LeaseSet</a>,\n"
"then a 1 byte <a href=\"#type_Integer\">Integer</a> specifying how many "
"<a href=\"#struct_Lease\">Lease</a> structures are in the set, followed "
"by the actual <a href=\"#struct_Lease\">Lease</a> structures and finally "
"a <a href=\"#type_Signature\">Signature</a> of the previous\n"
"bytes signed by the <a href=\"#struct_Destination\">Destination's</a> <a "
"href=\"#type_SigningPrivateKey\">SigningPrivateKey</a>"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:805
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:810
#, python-format
msgid ""
"The encryption key is used for end-to-end <a "
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption.\n"
"It is currently generated anew at every router startup, it is not "
"persistent."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:815
msgid ""
"The signature may be verified using the signing public key of the "
"destination."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:819
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.\n"
"The signing key type is always the same as the destination's signing key "
"type."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:824
msgid ""
"The earliest expiration of all the Leases is treated as the timestamp or "
"version of the LeaseSet.\n"
"Routers will generally not accept a store of a LeaseSet unless it is "
"\"newer\" than the current one.\n"
"Take care when publishing a new LeaseSet where the oldest Lease is the "
"same as the oldest Lease\n"
"in the previous LeaseSet. The publishing router should generally "
"increment the expiration\n"
"of the oldest Lease by at least 1 ms in that case."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:831
msgid ""
"Prior to release 0.9.7, when included in a DatabaseStore Message sent by "
"the originating router,\n"
"the router set all the published leases' expirations to the same value, "
"that of the\n"
"earliest lease. As of release 0.9.7, the router publishes the actual "
"lease expiration for each lease.\n"
"This is an implementation detail and not part of the structures "
"specification."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:845
msgid ""
"This structure defines the means to contact a router through a transport "
"protocol.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:849
msgid ""
"1 byte <a href=\"#type_Integer\">Integer</a> defining the relative cost "
"of using the address, where 0 is free and 255 is expensive, followed by "
"the expiration <a href=\"#type_Date\">Date</a> after which the address "
"should not be used, or if null, the address never expires.\n"
"After that comes a <a href=\"#type_String\">String</a> defining the "
"transport protocol this router address uses. Finally there is a <a "
"href=\"#type_Mapping\">Mapping</a> containing all of the transport "
"specific options necessary to establish the connection, such as\n"
"IP address, port number, email address, URL, etc.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:887
msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:891
msgid ""
"Expiration is currently unused, always null (all zeroes).\n"
"As of release 0.9.3, the expiration is assumed zero and not stored, so "
"any non-zero expiration\n"
"will fail in the RouterInfo signature verification.\n"
"Implementing expiration (or another use for these bytes) will be a "
"backwards-incompatible change.\n"
"Routers MUST set this field to all zeros.\n"
"As of release 0.9.12, a non-zero expiration field is again recognized, "
"however we must wait\n"
"several releases to use this field, until the vast majority of the "
"network recognizes it."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:901
msgid ""
"The following options, while not required, are standard and expected to "
"be present in most router addresses:\n"
"\"host\" (an IPv4 or IPv6 address or host name) and \"port\"."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:912
msgid ""
"Defines all of the data that a router wants to publish for the network to"
" see. The <a href=\"#struct_RouterInfo\">RouterInfo</a> is one of two "
"structures stored in the network database(the other being <a "
"href=\"#struct_LeaseSet\">LeaseSet</a>, and is keyed under the SHA256 of"
"\n"
"the contained <a href=\"#struct_RouterIdentity\">RouterIdentity</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:917
msgid ""
"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> followed by the <a "
"href=\"#type_Date\">Date</a>, when the entry was published\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:992
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."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:997
msgid ""
"The signature may be verified using the signing public key of the "
"router_ident."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:1001
#, python-format
msgid ""
"See <a href=\"%(netdb)s#routerInfo\">the network database page</a>\n"
"for standard options that are expected to be present in all router infos."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:1011
#, python-format
msgid ""
"Tunnel Message Delivery Instructions are defined in the <a "
"href=\"%(tunnelmessage)s#delivery\">Tunnel Message Specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:1014
#, python-format
msgid ""
"Garlic Message Delivery Instructions are defined in the <a "
"href=\"%(i2npmessage)s#struct_DeliveryInstructions\">I2NP Message "
"Specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:2
msgid "Configuration File Specification"
msgstr "Specification du fichier de configuration"
#: 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 ""
"Cette page fournit la spécification générale des fichiers de "
"configuration de I2P,\n"
"utilisés par le routeur et les diverses applications.\n"
"Il donne aussi une vue d'ensemble des informations contenues dans les "
"divers fichiers,\n"
"et lie à la documentation détaillée lorsqu'elle est disponible."
#: i2p2www/pages/site/docs/spec/configuration.html:15
msgid "General Format"
msgstr "Format général"
#: i2p2www/pages/site/docs/spec/configuration.html:16
#, python-format
msgid ""
"An I2P configuration file is formatted as specified in\n"
"<a href=\"%(url)s\">Java Properties</a>\n"
"with the following exceptions:"
msgstr ""
"Un fichier de configuration d'I2P est formaté comme spécifié dans\n"
"<a href=\"%(url)s\">Propriétés Java</a>\n"
"avec les exceptions suivantes :"
#: i2p2www/pages/site/docs/spec/configuration.html:22
msgid "Encoding must be UTF-8"
msgstr "L'encodage doit être UTF-8"
#: 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. As of release 0.9.10, keys with a value of"
" \"\" are supported."
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"
"<a href=\"%(url)s\">DataHelper loadProps() and storeProps()</a>.\n"
"Note that the file format is significantly different than the\n"
"serialized format for I2P protocols specified in\n"
"<a href=\"%(commonstructures)s#type_Mapping\">Mapping</a>."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:48
msgid "Core library and router"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:50
msgid "Clients"
msgstr "Clients"
#: i2p2www/pages/site/docs/spec/configuration.html:51
msgid "Configured via /configclients in the router console."
msgstr "Configuré via /configclients dans la console du routeur."
#: i2p2www/pages/site/docs/spec/configuration.html:107
msgid "Logger"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:108
msgid "Configured via /configlogging in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:112
#: i2p2www/pages/site/docs/spec/configuration.html:156
#: i2p2www/pages/site/docs/spec/configuration.html:168
#: i2p2www/pages/site/docs/spec/configuration.html:198
msgid "Properties are as follows:"
msgstr "Les propriétés sont comme suit :"
#: i2p2www/pages/site/docs/spec/configuration.html:147
msgid "Individual Plugin"
msgstr "Plug-in individuel"
#: i2p2www/pages/site/docs/spec/configuration.html:148
#, python-format
msgid "See <a href=\"%(pluginspec)s\">the plugin specification</a>."
msgstr "Voir <a href=\"%(pluginspec)s\">la spécification de plug-in</a>."
#: i2p2www/pages/site/docs/spec/configuration.html:153
msgid "Enable/disable for each installed plugin."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:164
msgid "Webapps"
msgstr "Applications web"
#: i2p2www/pages/site/docs/spec/configuration.html:165
msgid "Enable/disable for each installed webapp."
msgstr "Active/désactive pour pour chaque application web installée."
#: i2p2www/pages/site/docs/spec/configuration.html:177
msgid "Router"
msgstr "Routeur"
#: i2p2www/pages/site/docs/spec/configuration.html:178
msgid "Configured via /configadvanced in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:182
msgid "Applications"
msgstr "Applications"
#: i2p2www/pages/site/docs/spec/configuration.html:185
msgid "See documentation in SusiDNS."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:190
msgid "Configured via the application gui."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:195
msgid "Configured via the /i2ptunnel application in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:370
msgid "Router Console"
msgstr "Console du routeur"
#: i2p2www/pages/site/docs/spec/configuration.html:371
msgid "The router console uses the router.config file."
msgstr "La console du routeur utilise le fichier router.config ."
#: i2p2www/pages/site/docs/spec/configuration.html:376
msgid "See post on zzz.i2p."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:2
msgid "Datagram Specification"
msgstr "Spécification de datagramme"
#: i2p2www/pages/site/docs/spec/datagrams.html:3
msgid "July 2014"
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:31
#, python-format
msgid ""
"The practical length is limited by lower layers of protocols - the\n"
"<a href=\"%(tunnelmessage)s#notes\">tunnel message spec</a>\n"
"limits messages to about 61.2 KB and the\n"
"<a href=\"%(transports)s\">transports</a>\n"
"currently limit messages to about 32 KB, although this may be raised in "
"the future."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:40
msgid "Repliable Datagrams"
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:41
msgid ""
"Repliable datagrams contain a 'from' address and a signature. These add "
"at least 427 bytes of overhead."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:95
#, python-format
msgid ""
"The practical length is limited by lower layers of protocols - the\n"
"<a href=\"%(transports)s\">transports</a>\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/datagrams.html:101
#, python-format
msgid ""
"See <a href=\"%(dgrams)s\">important notes</a> about the reliability of "
"large datagrams.\n"
"For best results, limit the payload to about 10 KB or less."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:105
msgid "Signatures for types other than DSA_SHA1 were redefined in release 0.9.14."
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:2
msgid "GeoIP File Specification"
msgstr "Spécification du fichier GeoIP"
#: i2p2www/pages/site/docs/spec/geoip.html:8
msgid ""
"This page specifies the format of the various GeoIP files,\n"
"used by the router to look up a country for an IP."
msgstr ""
"Cette page spécifie que le format des divers fichiers GeoIP;\n"
"utilisés par le routeur pour chercher le pays d'une IP."
#: i2p2www/pages/site/docs/spec/geoip.html:14
msgid "Country Name (countries.txt) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:15
msgid ""
"This format is easily generated from data files available from many "
"public sources.\n"
"For example:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:33
msgid "IPv4 (geoip.txt) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:34
msgid ""
"This format is borrowed from Tor and is easily generated from data files "
"available from many public sources.\n"
"For example:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:54
msgid "IPv6 (geoipv6.dat.gz) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:55
msgid ""
"This is a compressed binary format designed for I2P.\n"
"The file is gzipped. Ungzipped format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:71
msgid "NOTES:"
msgstr ""
#: 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:85
msgid "Flags and Option Data Fields"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:86
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: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 "Old News File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:27
msgid "This format is replaced by the su3 news format as of release 0.9.17."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:30
msgid "The news.xml file may contain the following elements:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:38
msgid ""
"Parameters in the i2p.release entry are as follows.\n"
"All keys are case-insensitive. All values must be enclosed in double "
"quotes."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:76
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.\n"
"NOTE: Due to parser limitations an entire element must be on a single "
"line."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:83
msgid "Update File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:84
msgid ""
"As of release 0.9.9, the signed update file, named i2pupdate.su3, will\n"
"use the \"su3\" file format specified below.\n"
"Approved release signers will use 4096-bit RSA keys.\n"
"The X.509 public key certificates for these signers are distributed in "
"the router installation packages.\n"
"The updates may contain certificates for new, approved signers, and/or "
"contain\n"
"a list of certificates to delete for revocation."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:94
msgid "Old Update File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:95
msgid "This format is obsolete as of release 0.9.9."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:98
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:104
#, python-format
msgid ""
"A 40-byte <a href=\"%(commonstructures)s#type_signature\">DSA "
"signature</a>"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:107
msgid "A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:112
#, python-format
msgid ""
"The signature covers only the zip archive - not the prepended version.\n"
"The signature must match one of the <a "
"href=\"%(commonstructures)s#type_SigningPublicKey\">DSA public keys</a> "
"configured into the router,\n"
"which has a hardcoded default list of keys of the current project release"
" managers."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:118
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:123
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:131
msgid "Download and Installation"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:132
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:143
msgid ""
"The zip file is extracted and copied to \"i2pupdate.zip\" in the I2P "
"configuration directory (~/.i2p on Linux)."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:147
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&#37;."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:155
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:161
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:166
msgid "One file name per line"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:167
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:168
msgid "Comments start with '#'"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:171
msgid "The router will then delete the deletelist.txt file."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:177
msgid "SU3 File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:179
msgid ""
"This specification is used for router updates as of release 0.9.9, reseed"
" data as of release 0.9.14,\n"
"plugins as of release 0.9.15, and the news file as of release 0.9.17."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:184
msgid "Issues with the previous .sud/.su2 format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:186
msgid "No magic number or flags"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:189
msgid "No way to specify compression, pack200 or not, or signing algo"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:192
msgid ""
"Version is not covered by signature, so it is enforced by requiring it\n"
"to be in the zip file comment (for router files) or in the plugin.config\n"
"file (for plugins)"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:197
msgid "Signer not specified so verifier must try all known keys"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:200
msgid "Signature-before-data format requires two passes to generate file"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:206
#: i2p2www/pages/site/docs/spec/updates.html:356
#: i2p2www/pages/site/docs/spec/updates.html:431
msgid "Goals:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:209
msgid "Fix above problems"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:212
msgid "Migrate to more secure signature algorithm"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:215
msgid ""
"Keep version info in same format and offset for compatibility with\n"
"existing version checkers"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:219
msgid "One-pass signature verification and file extraction"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:224
#: i2p2www/pages/site/docs/spec/updates.html:371
#: i2p2www/pages/site/docs/spec/updates.html:454
msgid "Specification:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:293
msgid "All unused fields must be set to 0 for compatibility with future versions."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:298
msgid "Signature Details"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:334
msgid "SU3 Router Update File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:351
msgid "SU3 Reseed File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:352
msgid "As of 0.9.14, reseed data is delivered in an \"su3\" file format."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:359
msgid ""
"Signed files with strong signatures and trusted certificates\n"
"to prevent man-in-the-middle attacks that could boot victims into a "
"separate, untrusted network."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:363
#: i2p2www/pages/site/docs/spec/updates.html:437
msgid "Use su3 file format already used for updates, reseeding, and plugins"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:366
msgid ""
"Single compressed file to speed up reseeding, which was slow to fetch 200"
" files"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:374
msgid "The file must be named \"i2pseeds.su3\"."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:377
msgid ""
"The file must be in the same directory as the router infos on the web "
"server."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:380
msgid ""
"A router will first try to fetch (index URL)/i2pseeds.su3; if that fails "
"it will fetch the index URL\n"
"and then fetch the individual router info files found in the links."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:403
msgid "SU3 Plugin File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:405
msgid "As of 0.9.15, plugins may be packaged in an \"su3\" file format."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:426
msgid "SU3 News File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:427
msgid "As of 0.9.17, the news is delivered in an \"su3\" file format."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:434
msgid "Signed news with strong signatures and trusted certificates"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:440
msgid "Standard XML format for use with standard parsers"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:443
msgid "Standard Atom format for use with standard feed readers and generators"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:446
msgid "Sanitization and verification of HTML before displaying on console"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:449
msgid ""
"Suitable for easy implementation on Android and other platforms without "
"an HTML console"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:556
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:3
#: i2p2www/pages/site/docs/transport/ssu.html:3
msgid "September 2014"
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 "<a href=\"%(ntcp)s\">NTCP</a>, a Java New I/O (NIO) TCP transport"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:22
#, python-format
msgid " <a href=\"%(ssu)s\">SSU</a>, or Secure Semireliable UDP"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:25
msgid ""
"Each provides a \"connection\" paradigm, with authentication,\n"
"flow control, acknowledgments and retransmission."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:31
msgid "Transport Services"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:33
msgid "The transport subsystem in I2P provides the following services:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:37
#, python-format
msgid ""
"Reliable delivery of <a href=\"%(i2np)s\">I2NP</a> messages.\n"
"Transports support I2NP message delivery ONLY.\n"
"They are not general-purpose data pipes."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:42
msgid "In-order delivery of messages is NOT guaranteed by all transports."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:43
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).\n"
"Each transport may connect using one of these addresses, which may be\n"
"IPv4 or (as of version 0.9.8) IPv6."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:49
msgid "Selection of the best transport for each outgoing message"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:50
msgid "Queueing of outbound messages by priority"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:51
msgid ""
"Bandwidth limiting, both outbound and inbound, according to router "
"configuration"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:52
msgid "Setup and teardown of transport connections"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:53
msgid "Encryption of point-to-point communications"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:54
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:58
msgid "Firewall port opening using UPnP (Universal Plug and Play)"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:59
msgid "Cooperative NAT/Firewall traversal"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:60
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:61
msgid ""
"Coordination of firewall status and local IP, and changes to either, "
"among the transports"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:62
#: i2p2www/pages/site/docs/transport/ssu.html:36
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:63
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:64
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:68
msgid "Qualification of valid IP addresses according to a local rule set"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:69
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:76
msgid "Transport Addresses"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:78
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.\n"
"Addresses may also contain an arbitrary set of additional options."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:84
msgid "Each transport method may publish multiple router addresses."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:88
msgid "Typical scenarios are:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:90
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:91
#, 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 <a "
"href=\"%(ssu)s\">the SSU spec</a> for details)"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:95
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:101
msgid "Transport Selection"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:103
#, python-format
msgid ""
"The transport system delivers <a href=\"%(i2np)s\">I2NP messages</a> "
"only. The transport selected for any message is\n"
"independent of the upper-layer protocols and contents (router or client "
"messages, whether an external application was using\n"
"TCP or UDP to connect to I2P, whether the upper layer was using\n"
"<a href=\"%(streaming)s\">the streaming library</a>\n"
"streaming\n"
"or\n"
"<a href=\"%(datagrams)s\">datagrams</a>,\n"
"datagrams\n"
"etc.)."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:117
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:123
msgid "Whether a transport bids, and with what value, depend on numerous factors:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:127
msgid "Configuration of transport preferences"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:128
msgid "Whether the transport is already connected to the peer"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:129
msgid ""
"The number of current connections compared to various connection limit "
"thresholds"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:130
msgid "Whether recent connection attempts to the peer have failed"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:131
msgid ""
"The size of the message, as different transports have different size "
"limits"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:132
msgid ""
"Whether the peer can accept incoming connections for that transport, as "
"advertised in its RouterInfo"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:133
msgid "Whether the connection would be indirect (requiring introducers) or direct"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:134
msgid "The peer's transport preference, as advertised in its RouterInfo"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:137
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:144
msgid "New Transports and Future Work"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:146
msgid "Additional transports may be developed, including:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:151
msgid "A TLS/SSH look-alike transport"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:152
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:153
msgid "Tor-compatible pluggable transports"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:156
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:163
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:170
#, python-format
msgid ""
"Analyze <a href=\"%(pdf)s\">Breaking and Improving Protocol "
"Obfuscation</a>\n"
"and see how transport-layer padding may improve things."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:2
msgid "NTCP (NIO-based TCP)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:6
#, python-format
msgid ""
"NTCP is one of two <a href=\"%(transports)s\">transports</a> currently "
"implemented in I2P.\n"
"The other is <a href=\"%(ssu)s\">SSU</a>.\n"
"NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n"
"Java NIO (new I/O) does not suffer from the 1 thread per connection "
"issues of the old TCP transport.\n"
"NTCP-over-IPv6 is supported as of version 0.9.8."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:14
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:22
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:28
#: i2p2www/pages/site/docs/transport/ssu.html:39
msgid "Router Address Specification"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:30
#: i2p2www/pages/site/docs/transport/ssu.html:41
msgid "The following properties are stored in the network database."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:44
msgid "NTCP Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:46
msgid "Standard Message Format"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:47
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:65
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:73
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:81
msgid "Time Sync Message Format"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:82
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:93
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:99
msgid "Checksums"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:100
#, python-format
msgid ""
"The standard and time sync messages use the Adler-32 checksum\n"
"as defined in the <a href=\"%(rfc1950)s\">ZLIB Specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:106
#: i2p2www/pages/site/docs/transport/ssu.html:175
msgid "Idle Timeout"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:107
#: i2p2www/pages/site/docs/transport/ssu.html:176
msgid ""
"Idle timeout and connection close is at the discretion of each endpoint "
"and may vary.\n"
"The current implementation lowers the timeout as the number of "
"connections approaches the\n"
"configured maximum, and raises the timeout when the connection count is "
"low.\n"
"The recommended minimum timeout is two minutes or more, and the "
"recommended\n"
"maximum timeout is ten minutes or more."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:116
msgid "RouterInfo Exchange"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:117
msgid ""
"After establishment, and every 30-60 minutes thereafter,\n"
"the two routers should generally exchange RouterInfos using a "
"DatabaseStoreMessage.\n"
"However, Alice should check if the first queued message is a "
"DatabaseStoreMessage\n"
"so as not to send a duplicate message; this is often the case when "
"connecting to a floodfill router."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:125
msgid "Establishment Sequence"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:126
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, signatures of the critical data are exchanged to confirm the "
"connection."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:142
msgid "Legend:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:143
msgid "256 byte DH public keys"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:147
msgid "timestamps (4 bytes, seconds since epoch)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:148
msgid "32 byte Session key"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:149
msgid "2 byte size of Alice identity to follow"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:152
msgid "DH Key Exchange"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:153
#, python-format
msgid ""
"The initial 2048-bit DH key exchange\n"
"uses the same shared prime (p) and generator (g) as that used for I2P's\n"
"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:159
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:165
msgid ""
"Alice generates a secret integer x. She then calculates <code>X = g^x mod"
" p</code>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:166
msgid "Alice sends X to Bob <b>(Message 1)</b>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:167
msgid ""
"Bob generates a secret integer y. He then calculates <code>Y = g^y mod "
"p</code>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:168
msgid "Bob sends Y to Alice.<b>(Message 2)</b>"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:169
msgid "Alice can now compute <code>sessionKey = Y^x mod p</code>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:170
msgid "Bob can now compute <code>sessionKey = X^y mod p</code>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:171
msgid ""
"Both Alice and Bob now have a shared key <code>sessionKey = g^(x*y) mod "
"p</code>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:173
#, python-format
msgid ""
"The sessionKey is then used to exchange identities in <b>Message 3</b> "
"and <b>Message 4</b>.\n"
"The exponent (x and y) length for the DH exchange is documented on the\n"
"<a href=\"%(crypto)s#exponent\">cryptography page</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:193
msgid "Message 1 (Session Request)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:194
#, python-format
msgid ""
"This is the DH request. Alice already has Bob's\n"
"<a href=\"%(commonstructures)s#struct_RouterIdentity\">Router "
"Identity</a>,\n"
"IP address, and port, as contained in his\n"
"<a href=\"%(commonstructures)s#struct_RouterInfo\">Router Info</a>,\n"
"which was published to the\n"
"<a href=\"%(netdb)s\">network database</a>.\n"
"Alice sends Bob:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:207
#: i2p2www/pages/site/docs/transport/ntcp.html:250
#: i2p2www/pages/site/docs/transport/ntcp.html:332
#: i2p2www/pages/site/docs/transport/ntcp.html:437
msgid "Size:"
msgstr "Taille:"
#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Contenu:"
#: i2p2www/pages/site/docs/transport/ntcp.html:227
msgid "256 byte X from Diffie Hellman"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:229
msgid "SHA256 Hash(X) xored with SHA256 Hash(Bob's `RouterIdentity`)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:236
#: i2p2www/pages/site/docs/transport/ntcp.html:319
#: i2p2www/pages/site/docs/transport/ntcp.html:398
msgid "Notes:"
msgstr "Notes:"
#: i2p2www/pages/site/docs/transport/ntcp.html:237
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:243
msgid "Message 2 (Session Created)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:244
msgid "This is the DH reply. Bob sends Alice:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:252
#: i2p2www/pages/site/docs/transport/ntcp.html:334
#: i2p2www/pages/site/docs/transport/ntcp.html:439
msgid "Unencrypted Contents:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:274
#: i2p2www/pages/site/docs/transport/ntcp.html:310
msgid "256 byte Y from Diffie Hellman"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:276
msgid "SHA256 Hash(X concatenated with Y)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:279
#: i2p2www/pages/site/docs/transport/ntcp.html:364
msgid "4 byte timestamp (seconds since the epoch)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:281
msgid "12 bytes random data"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:285
#: i2p2www/pages/site/docs/transport/ntcp.html:376
#: i2p2www/pages/site/docs/transport/ntcp.html:466
msgid "Encrypted Contents:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:312
#, python-format
msgid ""
"48 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH "
"session key and\n"
" the last 16 bytes of Y as the IV"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:320
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:325
msgid "Message 3 (Session Confirm A)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:326
msgid ""
"This contains Alice's router identity, and a signature of the critical "
"data. Alice sends Bob:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:360
msgid "2 byte size of Alice's router identity to follow (387+)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:362
msgid "Alice's 387+ byte `RouterIdentity`"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:366
#: i2p2www/pages/site/docs/transport/ntcp.html:461
msgid "0-15 bytes random data"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:368
msgid ""
"the `Signature` of the following concatenated data:\n"
" X, Y, Bob's `RouterIdentity`, tsA, tsB.\n"
" Alice signs it with the `SigningPrivateKey` associated with "
"the `SigningPublicKey` in her `RouterIdentity`"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:389
#, python-format
msgid ""
"448 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH"
" session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes "
"of message #1) as the IV"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:400
msgid "Bob verifies the signature, and on failure, drops the connection."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:403
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:406
msgid ""
"Alice will use the last 16 bytes of the encrypted contents of this "
"message as the IV for the next message."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:430
msgid "Message 4 (Session Confirm B)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:431
msgid "This is a signature of the critical data. Bob sends Alice:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:455
msgid ""
"the `Signature` of the following concatenated data:\n"
" X, Y, Alice's `RouterIdentity`, tsA, tsB.\n"
" Bob signs it with the `SigningPrivateKey` associated with "
"the `SigningPublicKey` in his `RouterIdentity`"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:479
#, python-format
msgid ""
"Data <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH "
"session key and\n"
" the last 16 bytes of the encrypted contents of message "
"#2 as the IV\n"
" 48 bytes for a DSA signature, may vary for other "
"signature types"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:488
msgid "Alice verifies the signature, and on failure, drops the connection."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:491
msgid ""
"Bob will use the last 16 bytes of the encrypted contents of this message "
"as the IV for the next message."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:506
msgid "After Establishment"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:507
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:516
msgid "Check Connection Message"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:517
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:526
msgid "32 bytes of uninterpreted, ignored data"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:527
msgid "1 byte size"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:528
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:529
msgid "2 byte port number that the local router was reached on"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:530
msgid ""
"4 byte i2p network time as known by the remote side (seconds since the "
"epoch)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:531
msgid "uninterpreted padding data, up to byte 223"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:532
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:535
msgid "Check connection is completely disabled as of release 0.9.12."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:539
msgid "Discussion"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:540
#, python-format
msgid "Now on the <a href=\"%(ntcpdisc)s\">NTCP Discussion Page</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:546
msgid "The maximum message size should be increased to approximately 32 KB."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:550
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:558
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:562
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/ssu.html:2
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 <a href=\"%(transports)s\">transports</a> currently "
"implemented in I2P.\n"
"The other is <a href=\"%(ntcp)s\">NTCP</a>."
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.\n"
"SSU-over-IPv6 is supported as of version 0.9.8."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:20
msgid ""
"SSU is called \"semireliable\" because it will repeatedly retransmit "
"unacknowledged messages,\n"
"but only up to a maximum number of times. After that, the message is "
"dropped."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:25
msgid "SSU Services"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:27
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:33
msgid ""
"Cooperative NAT/Firewall traversal using <a "
"href=\"#introduction\">introducers</a>"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:34
msgid ""
"Local IP detection by inspection of incoming packets and <a "
"href=\"#peerTesting\">peer testing</a>"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:35
msgid ""
"Communication of firewall status and local IP, and changes to either to "
"NTCP"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:47
#: i2p2www/pages/site/docs/transport/ssu.html:54
#: i2p2www/pages/site/docs/transport/ssu.html:55
#: i2p2www/pages/site/docs/transport/ssu.html:57
#: i2p2www/pages/site/docs/transport/ssu.html:60
#: i2p2www/pages/site/docs/transport/ssu.html:61
#: i2p2www/pages/site/docs/transport/ssu.html:66
msgid "See below"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:73
msgid "Protocol Details"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:75
msgid "Congestion control"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:77
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:84
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:95
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:107
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:114
msgid ""
"As of router version 0.8.12,\n"
"two MTU values are used for IPv4: 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:120
msgid ""
"For both MTU values, it is desirable that (MTU &#37; 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."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:126
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:132
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:138
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:143
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:150
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:156
msgid ""
"For IPv6, the minimum MTU is 1280. The IPv6 IP/UDP header is 48 bytes,\n"
"so we use an MTU where (MTN &#37; 16 == 0), which is true for 1280.\n"
"The maximum IPv6 MTU is 1472."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:162
msgid "Message Size Limits"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:163
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:185
msgid "Keys"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:187
msgid ""
"All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.\n"
"When Alice originates a session with Bob,\n"
"the MAC and session keys are negotiated as part of the DH exchange, and "
"are then used\n"
"for the HMAC and encryption, respectively. During the DH exchange, \n"
"Bob's publicly knowable introKey is used for the MAC and encryption."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:195
msgid ""
"Both the initial message and the 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:204
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:215
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:226
#, python-format
msgid ""
"For the DH key agreement,\n"
"<a href=\"%(rfc3526)s\">RFC3526</a> 2048bit\n"
"MODP group (#14) is used:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:236
#, python-format
msgid ""
"These are the same p and g used for I2P's\n"
"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:241
msgid "Replay prevention"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:243
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:250
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:258
msgid "Addressing"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:260
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:272
msgid ""
"Each of the addresses may also expose a series of options - special\n"
"capabilities of that particular peer. For a list of available\n"
"capabilities, see <a href=\"#capabilities\">below</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:278
#, python-format
msgid ""
"The addresses, options, and capabilities are published in the <a "
"href=\"%(netdb)s\">network database</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:283
msgid "Direct Session Establishment"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:284
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:289
msgid "Connection establishment (direct)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:290
msgid ""
"Alice connects directly to Bob.\n"
"IPv6 is supported as of version 0.9.8."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:305
#, python-format
msgid ""
"After the SessionConfirmed message is received, Bob sends a small\n"
"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">DeliveryStatus message</a>\n"
"as a confirmation.\n"
"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:314
#, python-format
msgid ""
"After the status message is sent, the peers exchange\n"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">DatabaseStore messages</a>\n"
"containing their\n"
"<a href=\"%(commonstructures)s#struct_RouterInfo\">RouterInfos</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:322
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:331
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:345
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:372
msgid "Connection establishment (indirect using an introducer)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:374
msgid "Alice first connects to introducer Bob, who relays the request to Charlie."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:392
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:404
msgid "Peer testing"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:406
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:425
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:435
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:444
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:455
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:465
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:473
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:483
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:501
msgid "Transmission window, ACKs and Retransmissions"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:502
#, python-format
msgid ""
"The DATA message may contain ACKs of full messages and\n"
"partial ACKs of individual fragments of a message. See\n"
"the data message section of\n"
"<a href=\"%(ssuspec)s\">the protocol specification page</a>\n"
"for details."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:510
#, 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 <a href=\"%(streaming)s\">streaming</a>.\n"
"See the code for initial, min and max parameters."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:522
msgid "Security"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:523
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:531
msgid ""
"The details of validation are not specified\n"
"here. Implementers should add defenses where appropriate."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:537
msgid "Peer capabilities"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:541
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:547
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:556
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:562
msgid ""
"The current implementation repeatedly sends acknowledgments for the same "
"packets,\n"
"which unnecessarily increases overhead."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:567
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:573
msgid "The protocol should be extended to exchange MTUs during the setup."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:577
msgid "Rekeying is currently unimplemented and may never be."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:581
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:586
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:592
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:598
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:602
msgid "Capacities appear to be unused."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:606
msgid ""
"Signed-on times in SessionCreated and SessionConfirmed appear to be "
"unused or unverified."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:611
msgid "Implementation Diagram"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:612
msgid ""
"This diagram\n"
"should accurately reflect the current implementation, however there may "
"be small differences."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:620
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"
"</i>gateway</i>, get bundled up and/or fragmented into fixed-size tunnel "
"messages, \n"
"and are forwarded on to the next hop in the tunnel, which processes and "
"verifies\n"
"the validity of the message and sends it on to the next hop, and so on, "
"until\n"
"it reaches the tunnel endpoint. That <i>endpoint</i> takes the messages\n"
"bundled up by the gateway and forwards them as instructed - either\n"
"to another router, to another tunnel on another router, or locally."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:23
msgid ""
"Tunnels all work the same, but can be segmented into two different\n"
"groups - inbound tunnels and outbound tunnels. The inbound tunnels\n"
"have an untrusted gateway which passes messages down towards the \n"
"tunnel creator, which serves as the tunnel endpoint. For outbound \n"
"tunnels, the tunnel creator serves as the gateway, passing messages\n"
"out to the remote endpoint."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:32
msgid ""
"The tunnel's creator selects exactly which peers will participate\n"
"in the tunnel, and provides each with the necessary configuration\n"
"data. They may have any number of hops.\n"
"It is the intent to make\n"
"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"
"<a href=\"%(tunnelrouting)s\">on the tunnel overview page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:66
msgid "Tunnel Operation (Message Processing)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:69
#, python-format
msgid ""
"After a tunnel is built, <a href=\"%(i2np)s\">I2NP messages</a> 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"
"<a href=\"%(i2np)s\">I2NP messages</a> into fixed-size\n"
"<a href=\"%(tunnelmessage)s\">tunnel messages</a>\n"
"and encrypt the tunnel messages.\n"
"Tunnel messages contain the following:"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:174
msgid "A 4 byte Tunnel ID"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:175
msgid "A 16 byte IV (initialization vector)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:176
msgid "A checksum"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:177
msgid "Padding, if necessary"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:178
msgid "One or more { delivery instruction, I2NP message fragment } pairs"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:181
msgid ""
"Tunnel IDs are 4 byte numbers used at each hop - participants know what\n"
"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"
"<a href=\"%(tunnelmessage)s\">tunnel message specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:205
msgid "Gateway Encryption"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:207
msgid ""
"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:243
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:256
msgid "Endpoint Processing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:258
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:268
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:275
msgid "Tunnel Building"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:277
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:291
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:299
msgid "Exploratory tunnel peer selection"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:301
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:311
#, python-format
msgid ""
"Exploratory peer selection is discussed further on the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:317
msgid "Client tunnel peer selection"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:319
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:327
#, python-format
msgid ""
"Client peer selection is discussed further on the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:332
msgid "Peer Ordering within Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:334
#, python-format
msgid ""
"Peers are ordered within tunnels to deal with the\n"
"<a href=\"%(pdf)s\">predecessor attack</a>\n"
"<a href=\"%(pdf2008)s\">(2008 update)</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:341
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:348
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:363
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:370
msgid "Request delivery"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:372
#, 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"
"<a href=\"%(pdf)s\">Hashing it out in Public</a>,\n"
"this is \"non-interactive\" telescopic tunnel building."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:379
#, python-format
msgid ""
"This tunnel request preparation, delivery, and response method is\n"
"<a href=\"%(tunnelcreation)s\">designed</a> to reduce the number of\n"
"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:390
#, python-format
msgid ""
"The details of tunnel request and response messages, and their "
"encryption,\n"
"<a href=\"%(tunnelcreation)s\">are specified here</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:395
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:404
#, python-format
msgid ""
"For more information on peer profiling, see the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:410
msgid "Tunnel Pools"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:412
#, 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 <a "
"href=\"%(i2cp)s\">I2CP</a>, or the router's defaults if\n"
"not specified."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:424
#, 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 <a href=\"%(i2cp)s\">I2CP "
"page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:434
msgid "Tunnel Lengths and Defaults"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:436
msgid "On the tunnel overview page"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:438
msgid "Anticipatory Build Strategy and Priority"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:440
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:451
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:462
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:471
msgid "Tunnel Message Throttling"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:473
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:489
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:507
msgid "Mixing/batching"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:509
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:518
msgid "Padding"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:519
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:529
msgid ""
"WRED strategies have a significant impact on end-to-end performance,\n"
"and prevention of network congestion collapse.\n"
"The current WRED strategy should be carefully evaluated and improved."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:2
msgid "Old Tunnel Implementation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:5
#, python-format
msgid ""
"Note: Obsolete - NOT used! Replaced in 0.6.1.10 - see <a "
"href=\"%(tunnelimpl)s\">here</a> for the current implementation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7
msgid ""
"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:21
msgid "Peer selection"
msgstr "Sélection de pair"
#: 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 "Anonymat"
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
#, python-format
msgid ""
"A recent <a href=\"%(pdf)s\">paper by Hermann and Grothoff</a>\n"
"declared that I2P's unidirectional tunnels \"seems to be a bad design "
"decision\"."
msgstr ""
"Un récent <a href=\"%(pdf)s\">papier par Hermann et Grothoff</a>\n"
"déclare que les tunnels unidirectionnels de I2P \"semblent être une "
"mauvaise décision de conception\"."
#: 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 ""
"La question principale que le papier cible est que\n"
"les déanonymisations ciblant les tunnels unidirectionnels prennent "
"davantage de temps, ce qui est un\n"
"avantage, mais qu'un attaquant peut être davantage certain dans le cas "
"d'un unidirectionnel. Par conséquent, le papier le déclare que ce n'est "
"pas un avantage du tout, mais un inconvénient, au moins avec les eepsites"
" à longue durée de vie (long-living eepsites)."
#: 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 ""
"Cette conclusion n'est pas entièrement soutenue par le papier. Les "
"tunnels unidirectionnels atténuent clairement d'autres attaques et il "
"n'est pas clair dans le papier sur la façon de négocier le risque "
"d'attaques dans une architecture de tunnels bidirectionnels."
#: 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 ""
"Sa conclusion est basée sur une certitude arbitraire contre la "
"pondération de temps ? (la différence) qui ne peut pas être applicable "
"dans tous les cas. Par exemple, quelqu'un pourrait faire une liste d'IPs "
"possibles puis publier \"subpoenas\" (des citations à comparaître) à "
"chacune. Ou l'attaquant pourrait DDoS chacune tour à tour, et via une "
"simple attaque par intersection voir si l'eepsite tombe ou est ralenti. "
"Ainsi de près cela peut être assez bon, ou le temps peut être plus "
"important."
#: 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 ""
"La conclusion est basée sur une pondération spécifique de l'importance de"
" la certitude contre (\"versus\") le temps, et que la pondération "
"pourrait être fausse, et c'est certainement discutable, particulièrement "
"dans un monde réel avec citations à comparaître (\"subpoeanas\"), mandats"
" de perquisition (\"search warrants\"), et autres méthodes disponibles "
"pour la confirmation finale."
#: 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 ""
"Une analyse complète des différences entre les tunnels unidirectionnels "
"opposés (\"versus\") aux bidirectionnel est clairement à l'extérieur du "
"périmètre du papier, et n'a d'ailleurs pas été faite. Par exemple, "
"comment cette attaque se compare-t-elle aux nombreuses \"timing attacks\""
" possibles publiées au sujet des réseaux \"onion-routed\" ? Clairement "
"les auteurs n'ont pas fait cette analyse, s'il est même effectivement "
"possible de le faire."
#: 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 ""
"Tor utilise les tunnels bidirectionnels et a subi beaucoup d'examens. I2P"
" utilise les tunnels unidirectionnels et a subi très peu d'examens. Est-"
"ce que le manque de papiers de recherche défendant les tunnels "
"unidirectionnels signifie que c'est un pauvre choix de conception, ou "
"plutôt qu'il nécessite davantage d'examens ? Il est difficile de se "
"défendre contre les timing attacks (attaques par synchronisation) et les "
"attaques distribuées, autant dans I2P que dans Tor. L'intention de "
"conception (voir les références ci-dessus) était que des tunnels "
"unidirectionnels sont plus résistants à des timing attacks. Cependant, le"
" papier présente un type quelque peu différent de timing\n"
"attack. Dans cette attaque, novatrice en l'état actuel des choses, "
"suffisante pour étiqueter l'architecture de tunnel d'I2P (et ainsi I2P "
"dans son ensemble) un \"mauvais design\", et par implication clairement "
"inférieure à Tor, ou cela est juste une alternative de design qui a "
"clairement besoin de la davantage d'examens et d'analyses ? Il y a "
"plusieurs autres raisons pour considérer I2P actuellement inférieur à Tor"
" et à d'autres projets (la petite taille du réseau, le manque de "
"financement, le manque d'examens) mais est-ce que les tunnels "
"unidirectionnels en sont vraiment une raison ?"
#: 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 ""
"En résumé, \"mauvaise décision de conception\" est apparemment (puisque "
"le papier\n"
"n'étiquette pas comme \"mauvais\" les tunnels bidirectionnels) un "
"raccourci pour \"les tunnels unidirectionnels sont sans équivoque "
"inférieurs aux tunnels bidirectionnel\", pourtant cette conclusion n'est "
"pas soutenue par le papier."