forked from I2P_Developers/i2p.www
20002 lines
778 KiB
Plaintext
20002 lines
778 KiB
Plaintext
# Spanish translations for I2P.
|
|
# Copyright (C) 2013 ORGANIZATION
|
|
# This file is distributed under the same license as the I2P project.
|
|
#
|
|
# Translators:
|
|
# Adolfo Jayme Barrientos <fitoschido@ubuntu.com>, 2013
|
|
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2013
|
|
# m1xxy <m1xxy@mail.i2p>, 2011
|
|
# olivertrash <oliver.trasshh@gmail.com>, 2013
|
|
# strel <strelnic@gmail.com>, 2013
|
|
# trolly, 2013
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: I2P\n"
|
|
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
|
|
"POT-Creation-Date: 2013-08-30 23:32+0000\n"
|
|
"PO-Revision-Date: 2013-09-02 01:51+0000\n"
|
|
"Last-Translator: kytv <killyourtv@i2pmail.org>\n"
|
|
"Language-Team: Spanish "
|
|
"(http://www.transifex.com/projects/p/I2P/language/es/)\n"
|
|
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Generated-By: Babel 0.9.6\n"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:25
|
|
msgid "Index to Technical Documentation"
|
|
msgstr "Índice de la Documentación técnica"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:3 i2p2www/pages/site/docs/ports.html:3
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:3
|
|
#: i2p2www/pages/site/docs/spec/geoip.html:3
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:3
|
|
msgid "May 2013"
|
|
msgstr "Mayo de 2013"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:6
|
|
msgid "How does I2P work"
|
|
msgstr "Cómo funciona I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:8
|
|
msgid "Following is an index to the technical documentation for I2P."
|
|
msgstr "A continuación hay in índice de la documentación técnica de I2P."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:12
|
|
msgid ""
|
|
"This index is ordered from the highest to lowest layers.\n"
|
|
"The higher layers are for \"clients\" or applications;\n"
|
|
"the lower layers are inside the router itself.\n"
|
|
"The interface between applications and the router is the I2CP (I2P "
|
|
"Control Protocol) API."
|
|
msgstr ""
|
|
"Este índice está ordenado desde la capa más alta a la más baja. Las capas"
|
|
" más altas son para las aplicaciones \"clientes\"; Las capas menores son "
|
|
"las que están dentro del propio ruter. El interfaz entre las aplicaciones"
|
|
" y el ruter es el API I2CP (Protocolo de Control de I2P)."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:19
|
|
#, python-format
|
|
msgid ""
|
|
"The I2P Project is committed to maintaining accurate, current "
|
|
"documentation.\n"
|
|
"If you find any inaccuracies in the documents linked below, please\n"
|
|
"<a href=\"http://%(trac)s/report/1\">enter a ticket identifying the "
|
|
"problem</a>."
|
|
msgstr ""
|
|
"El proyecto I2P se ha comprometido a mantener una documentación exacta y "
|
|
"al día. Si encuentra alguna inexactitud en los siguientes documentos, por"
|
|
" favor <a href=\"http://%(trac)s/report/1\">cree un ticket identificando "
|
|
"el problema</a>."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:27 i2p2www/pages/site/docs/naming.html:7
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:12
|
|
#: i2p2www/pages/site/docs/api/streaming.html:6
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:6
|
|
#: i2p2www/pages/site/docs/how/network-database.html:6
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:6
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:13
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:97
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:7
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:6
|
|
#: i2p2www/pages/site/docs/spec/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 "Vista general"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:29
|
|
msgid "Technical Introduction"
|
|
msgstr "Introducción técnica"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:30
|
|
msgid "A Less-Technical Introduction"
|
|
msgstr "Una introducción no tan técnica"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:31
|
|
msgid "Threat model and analysis"
|
|
msgstr "Modelo de amenazas y análisis"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:32
|
|
msgid "Comparisons to other anonymous networks"
|
|
msgstr "Comparación con otras redes anónimas."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:33
|
|
msgid "Protocol stack chart"
|
|
msgstr "Gráfica de la pila del protocolo"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:34
|
|
msgid "Papers on I2P"
|
|
msgstr "Estudios sobre I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:35
|
|
#, python-format
|
|
msgid ""
|
|
"<a href=\"%(pdf)s\">Invisible Internet Project (I2P) Project Overview</a>"
|
|
" August 28, 2003 (pdf)"
|
|
msgstr ""
|
|
"<a href=\"%(pdf)s\">Vista general del Proyecto para un Internet "
|
|
"Invisible(I2P)</a> 28 de Agosto del 2003 (pdf)"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:38
|
|
msgid "Application-Layer Topics"
|
|
msgstr "Asuntos sobre la capa de aplicaciones"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:41 i2p2www/pages/site/docs/naming.html:2
|
|
msgid "Naming and Addressbook"
|
|
msgstr "Nombres de dominios y libreta de direcciones"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:42
|
|
msgid "Plugins Overview"
|
|
msgstr "Resumen de pluguins"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:43
|
|
msgid "Plugin Specification"
|
|
msgstr "Especificaciones de los pluguins"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:44
|
|
msgid "Router software updates"
|
|
msgstr "Actualizaciones de software del ruter"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:45
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:2
|
|
msgid "Bittorrent over I2P"
|
|
msgstr "Bittorrent sobre I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:46
|
|
msgid "I2PControl Plugin API"
|
|
msgstr "API del pluguin I2PControl"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:47
|
|
msgid "hostsdb.blockfile Format"
|
|
msgstr "Formato de hostsdb.blockfile "
|
|
|
|
#: i2p2www/pages/site/docs/index.html:48 i2p2www/pages/site/docs/index.html:185
|
|
msgid "Configuration File Format"
|
|
msgstr "Formato del archivo de configuración"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:51
|
|
msgid "Application Layer API and Protocols"
|
|
msgstr "Protocolos y API de la capa de aplicación"
|
|
|
|
#: 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 ""
|
|
"API de alto nivel y fácil de usar para enviar y recibir datos para "
|
|
"aplicaciones escritas en cualquier lenguaje."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:54
|
|
msgid "Application Development Overview and Guide"
|
|
msgstr "Resumen y guía del desarrollo de aplicaciones"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:72
|
|
msgid "SAM Protocol"
|
|
msgstr "Protocolo SAM"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:74
|
|
msgid "SAMv2 Protocol"
|
|
msgstr "Protocolo SAMv2"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:76
|
|
msgid "SAMv3 Protocol"
|
|
msgstr "Protocolo SAMv3"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:78
|
|
msgid "BOB Protocol"
|
|
msgstr "Protocolo BOB"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:81
|
|
msgid "End-to-End Transport API and Protocols"
|
|
msgstr "Protocolos y API del transporte de fin a fin."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:82
|
|
msgid ""
|
|
"The end-to-end protocols used by clients for reliable and unreliable "
|
|
"communication."
|
|
msgstr ""
|
|
"Los protocolos fin a fin usado por los clientes para la comunicación "
|
|
"segura y no segura."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:84
|
|
#: i2p2www/pages/site/docs/api/streaming.html:2
|
|
msgid "Streaming Library"
|
|
msgstr "Librería de srteaming"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:86
|
|
msgid "Streaming Javadoc"
|
|
msgstr "Javadoc del streaming"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:88
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:2
|
|
msgid "Datagrams"
|
|
msgstr "Datagramas"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:90
|
|
msgid "Datagram Javadoc"
|
|
msgstr "Javadoc del datagrama"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:93
|
|
msgid "Client-to-Router Interface API and Protocol"
|
|
msgstr "Protocolo y API del interfac cliente-a-ruter"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:94
|
|
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 ""
|
|
"El API de menor nivel usado por los clientes (aplicaciones) para enviar y"
|
|
" recibir tráfico a un ruter. Tradicionalmente usado sólo por aplicaciones"
|
|
" en Java y APIs de mayor nivel."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:99
|
|
msgid "I2CP - I2P Control Protocol / API overview"
|
|
msgstr "I2CP - Protocolo de control de I2P / Resumen del API"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:101
|
|
msgid "I2CP Specification"
|
|
msgstr "Especificación I2CP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:103
|
|
msgid "I2CP API Javadoc"
|
|
msgstr "Javadoc del API de I2CP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:105
|
|
#: i2p2www/pages/site/docs/index.html:134
|
|
msgid "Common data structures specification"
|
|
msgstr "Especificaciones de las estructuras de datos más usadas."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:107
|
|
#: i2p2www/pages/site/docs/index.html:136
|
|
msgid "Data Structures Javadoc"
|
|
msgstr "Javadoc de las estructuras de datos"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:110
|
|
msgid "End-to-End Encryption"
|
|
msgstr "Cifrado de fin a fin"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:111
|
|
msgid "How client messages are end-to-end encrypted by the router."
|
|
msgstr "Cómo son cifrados por el ruter los mensajes de fin a fin."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:113
|
|
msgid "ElGamal/AES+SessionTag encryption"
|
|
msgstr "Cifrado ElGamal/AES+SessionTag"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:114
|
|
#: i2p2www/pages/site/docs/index.html:147
|
|
msgid "ElGamal and AES cryptography details"
|
|
msgstr "Detalles criptográficos de ElGamal y AES"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:117
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:15
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:329
|
|
msgid "Network Database"
|
|
msgstr "Base de datos de la red"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:118
|
|
msgid ""
|
|
"Distributed storage and retrieval of information about routers and "
|
|
"clients."
|
|
msgstr ""
|
|
"Almacenamiento distribuido y obtención de información sobre los ruters y "
|
|
"los clientes. "
|
|
|
|
#: i2p2www/pages/site/docs/index.html:120
|
|
msgid "Network database overview, details, and threat analysis"
|
|
msgstr ""
|
|
"Vista general, detalles y análisis de amenazas de la base de datos de la "
|
|
"red"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:121
|
|
msgid "Cryptographic hashes"
|
|
msgstr "Hashes de cifrados"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:122
|
|
msgid "Cryptographic signatures"
|
|
msgstr "Firmas de cifrados"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:125
|
|
msgid "Router Message Protocol"
|
|
msgstr "Protocolo de los mensajes del ruter"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:126
|
|
msgid ""
|
|
"I2P is a message-oriented router. The messages sent between routers are "
|
|
"defined by the I2NP protocol."
|
|
msgstr ""
|
|
"I2P es un ruter orientado a mensajes. Los mensajes que se envían entre "
|
|
"los ruters son definidos por el protocolo I2NP."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:128
|
|
msgid "I2NP - I2P Network Protocol Overview"
|
|
msgstr "I2NP - Vista general del protocolo de red de I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:130
|
|
msgid "I2NP Specification"
|
|
msgstr "Especificación I2NP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:132
|
|
msgid "I2NP Javadoc"
|
|
msgstr "Javadoc de I2NP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:139
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:14
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:228
|
|
msgid "Tunnels"
|
|
msgstr "Túneles"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:140
|
|
msgid ""
|
|
"Selecting peers, requesting tunnels through those peers, and encrypting "
|
|
"and routing messages through these tunnels."
|
|
msgstr ""
|
|
"Seleccionando pares, solicitando túneles a través de esos pares, y "
|
|
"cifrando y enrutando mensajes a través de esos túneles."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:142
|
|
msgid "Peer profiling and selection"
|
|
msgstr "Perfiles y selección de pares"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:143
|
|
msgid "Tunnel routing overview"
|
|
msgstr "Vista general del túnel de enrutado"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:144
|
|
msgid "Garlic routing and \"garlic\" terminology"
|
|
msgstr "Rutado Garlic y terminología \"garlic\""
|
|
|
|
#: i2p2www/pages/site/docs/index.html:145
|
|
msgid "Tunnel building and encryption"
|
|
msgstr "Cifrado y construcción de los túneles"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:146
|
|
msgid "ElGamal/AES"
|
|
msgstr "ElGamal/AES"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:146
|
|
msgid "for build request encryption"
|
|
msgstr "para cifrado de solicitudes de construcción (`build`, de túneles)"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:148
|
|
msgid "Tunnel building specification"
|
|
msgstr "Especificaciones para la creación de túneles"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:149
|
|
msgid "Low-level tunnel message specification"
|
|
msgstr "Especificaciones de los mensajes de túnel de bajo nivel"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:150
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2
|
|
msgid "Unidirectional Tunnels"
|
|
msgstr "Túneles unidireccionales"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:151
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:299
|
|
msgid "Peer Profiling and Selection in the I2P Anonymous Network"
|
|
msgstr "Perfiles y selección de pares en la red anónima I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:152
|
|
msgid "2009 paper (pdf), not current but still generally accurate"
|
|
msgstr "Estudio del 2009 (pdf), no es muy actual pero es bastante exacto"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:155
|
|
msgid "Transport Layer"
|
|
msgstr "Capa de transporte"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:156
|
|
msgid "The protocols for direct (point-to-point) router to router communication."
|
|
msgstr ""
|
|
"Los protocolos para las comunicaciones directas (punto a punto) de ruter "
|
|
"a ruter."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:158
|
|
msgid "Transport layer overview"
|
|
msgstr "Visión general de la capa de transporte"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:160
|
|
msgid "TCP-based transport overview and specification"
|
|
msgstr "Especificaciones y vista general de los transportes basados en TCP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:162
|
|
msgid "UDP-based transport overview"
|
|
msgstr "Vista general de los transportes basados en UDP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:164
|
|
msgid "SSU specification"
|
|
msgstr "Especificación SSU"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:166
|
|
msgid "NTCP transport encryption"
|
|
msgstr "Cifrado del transporte de NTCP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:168
|
|
msgid "SSU transport encryption"
|
|
msgstr "Cifrado del transporte de SSU"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:170
|
|
msgid "Transport Javadoc"
|
|
msgstr "Jacadoc del transporte"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:172
|
|
msgid "NTCP Javadoc"
|
|
msgstr "Javadoc de NTCP"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:174
|
|
msgid "SSU Javadoc"
|
|
msgstr "Jacadoc de SSU"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:177
|
|
msgid "Other Router Topics"
|
|
msgstr "Otros temas sobre el Ruter"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:179
|
|
msgid "Native BigInteger Library"
|
|
msgstr "Librería BigInteger nativa"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:181
|
|
msgid "Time synchronization and NTP"
|
|
msgstr "NTP y sincronización de la fecha"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:183
|
|
msgid "Performance"
|
|
msgstr "Rendimiento"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:190
|
|
msgid "Developer's Guides and Resources"
|
|
msgstr "Recursos y guías para desarrolladores"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:192
|
|
msgid "New Developer's Guide"
|
|
msgstr "Guía para nuevos desarrolladores"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:194
|
|
msgid "New Translator's Guide"
|
|
msgstr "La nueva guía de los traductores"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:196
|
|
msgid "Monotone Guide"
|
|
msgstr "Guía de Monotone"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:198
|
|
msgid "Developer Guidelines"
|
|
msgstr "Directrizes para los desarrolladores"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:200
|
|
msgid "Javadocs on the standard internet:"
|
|
msgstr "Jacadocs en el Internet normal:"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:201
|
|
#: i2p2www/pages/site/docs/index.html:205
|
|
#: i2p2www/pages/site/docs/index.html:206
|
|
#: i2p2www/pages/site/docs/index.html:207
|
|
#, python-format
|
|
msgid "Server %(num)s"
|
|
msgstr "Servidor %(num)s"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:202
|
|
#: i2p2www/pages/site/docs/index.html:211
|
|
msgid ""
|
|
"Note: always verify that javadocs are current by checking the release "
|
|
"number."
|
|
msgstr ""
|
|
"Nota: verifique siempre que los Javadocs son actuales comprobando los "
|
|
"números de versiones."
|
|
|
|
#: i2p2www/pages/site/docs/index.html:204
|
|
msgid "Javadocs inside I2P:"
|
|
msgstr "Javadocs en I2P:"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:213
|
|
msgid "Ports used by I2P"
|
|
msgstr "Ports usados por I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:215
|
|
msgid "Automatic updates to development builds inside I2P"
|
|
msgstr "Actualizaciones automáticas y compilaciones de desarrollo dentro de I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:217
|
|
msgid "Updating the wrapper manually"
|
|
msgstr "Actualizando el wrapper manualmente"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:219
|
|
msgid "User forum"
|
|
msgstr "Foro para usuarios"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:221
|
|
msgid "Developer forum inside I2P"
|
|
msgstr "Foro para desarrolladores en I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:223
|
|
msgid "Bug tracker"
|
|
msgstr "Bug tracker"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:225
|
|
msgid "Viewmtn inside I2P"
|
|
msgstr "Viewmtn en I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:227
|
|
msgid "I2P Source exported to GitHub"
|
|
msgstr "El código de I2P exportado a GitHub"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:229
|
|
msgid "I2P Source Git Repo inside I2P"
|
|
msgstr "Repositorio Git del código de I2P en I2P"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:231
|
|
msgid "Source translation at Transifex"
|
|
msgstr "Fuentes para traducir en Transifex"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:233
|
|
msgid "Roadmap wiki"
|
|
msgstr "Wiki con el plan de trabajo"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:235
|
|
msgid "Old roadmap"
|
|
msgstr "Plan de trabajo antiguo"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:235
|
|
#: i2p2www/pages/site/docs/index.html:237
|
|
msgid "not current"
|
|
msgstr "no actual"
|
|
|
|
#: i2p2www/pages/site/docs/index.html:237
|
|
msgid "To Do List"
|
|
msgstr "Por hacer"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:3
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:3
|
|
msgid "March 2012"
|
|
msgstr "Marzo de 2012"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:6
|
|
msgid "Naming in I2P"
|
|
msgstr "Dominios en I2P"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:9
|
|
msgid ""
|
|
"I2P ships with a generic naming library and a base implementation \n"
|
|
"designed to work off a local name to destination mapping, as well as an\n"
|
|
"add-on application called the <a href=\"#addressbook\">addressbook</a>. \n"
|
|
"I2P also supports <a href=\"#base32\">Base32 hostnames</a> similar to "
|
|
"Tor's .onion addresses."
|
|
msgstr ""
|
|
"I2P viene con una librería genérica de asignación de nombres y una \n"
|
|
"implementación base diseñada para entregar un mapeado desde nombre local"
|
|
" \n"
|
|
"a destino, además de una aplicación add-on llamada <a "
|
|
"href=\"#addressbook\">guía de direcciones</a> \n"
|
|
"(`adressbook`). I2P también soporta <a href=\"#base32\">nombres de "
|
|
"servidor Base32</a> \n"
|
|
"similares a las direcciones .onion de Tor."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:16
|
|
msgid ""
|
|
"The addressbook is a web-of-trust\n"
|
|
"driven secure, distributed, and human readable naming system, sacrificing"
|
|
" only\n"
|
|
"the call for all human readable names to be globally unique by mandating "
|
|
"only\n"
|
|
"local uniqueness. While all messages in I2P are cryptographically "
|
|
"addressed\n"
|
|
"by their destination, different people can have local addressbook entries"
|
|
" for\n"
|
|
"\"Alice\" which refer to different destinations. People can still "
|
|
"discover new\n"
|
|
"names by importing published addressbooks of peers specified in their web"
|
|
" of trust,\n"
|
|
"by adding in the entries provided through a third party, or (if some "
|
|
"people organize\n"
|
|
"a series of published addressbooks using a first come first serve "
|
|
"registration\n"
|
|
"system) people can choose to treat these addressbooks as name servers, "
|
|
"emulating\n"
|
|
"traditional DNS."
|
|
msgstr ""
|
|
"La guía de direcciones es un sistema de nombres asegurado mediante \n"
|
|
"web-of-trust, distribuído, y legible por humanos, que tan solo sacrifica "
|
|
"el \n"
|
|
"que los nombres sean globalmente únicos, obligando a que sólo lo sean\n"
|
|
"localmente. Mientras todos los mensajes en I2P son criptográficamente \n"
|
|
"direccionados por su destino, diferentes personas puede tener diferentes"
|
|
" \n"
|
|
"entradas \"Alice\" en sus guías de direcciones locales que se refieran a"
|
|
" \n"
|
|
"diferentes destinos. El público aún puede descubrir nuevos nombres "
|
|
"importando \n"
|
|
"guías de direcciones publicadas, de pares (`peers`) especificados en sus\n"
|
|
"web-of-trust, incorporando las entradas provistas por terceros, o (si "
|
|
"algunas \n"
|
|
"personas organizan series de guías de direcciones publicadas usando un \n"
|
|
"sistema de registro tipo `primero en venir primero en ser servido`) la "
|
|
"gente \n"
|
|
"puede elegir tratar estas guías de direcciones como servidores de "
|
|
"nombres, \n"
|
|
"emulando al tradicional DNS."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:30
|
|
#, python-format
|
|
msgid ""
|
|
"NOTE: For the reasoning behind the I2P naming system, common arguments "
|
|
"against it\n"
|
|
"and possible alternatives see the <a href=\"%(namingdiscussion)s\">naming"
|
|
" discussion</a>\n"
|
|
"page."
|
|
msgstr ""
|
|
"NOTA: Para encontrar las razones detrás del sistema de nombres de I2P, \n"
|
|
"los argumentos habituales contra él y las posibles alternativas, vea la \n"
|
|
"página de <a href=\"%(namingdiscussion)s\">discusión sobre el sistema de "
|
|
"nombres</a>."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:37
|
|
msgid "Naming System Components"
|
|
msgstr "Componentes del sistema de nombres"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:39
|
|
msgid ""
|
|
"There is no central naming authority in I2P.\n"
|
|
"All hostnames are local."
|
|
msgstr ""
|
|
"No hay una autoridad central de nombres en I2P.\n"
|
|
"Todos los nombres de servidor están en local."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:44
|
|
msgid ""
|
|
"The naming system is quite simple and most of it is implemented\n"
|
|
"in applications external to the router, but bundled with\n"
|
|
"the I2P distribution.\n"
|
|
"The components are:"
|
|
msgstr ""
|
|
"El sistema de nombres es bastante simple, y la mayoria de él está \n"
|
|
"implementado en aplicaciones externas al router pero \n"
|
|
"empaquetadas con la distribución I2P. Los componentes son:"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:52
|
|
msgid ""
|
|
"The <a href=\"#lookup\">client application</a> which does local lookups "
|
|
"in hosts.txt\n"
|
|
"and also takes care of the <a href=\"#base32\">Base32 hostnames</a>."
|
|
msgstr ""
|
|
"La <a href=\"#lookup\">aplicación cliente</a> que hace las consultas "
|
|
"locales en hosts.txt \n"
|
|
"y también se ocupa de los <a href=\"#base32\">nombres de servidor "
|
|
"Base32</a>."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:56
|
|
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 ""
|
|
"El <a href=\"#httpproxy\">proxy HTTP</a> que realiza consultas al router"
|
|
" \n"
|
|
"y dirige al usuario a servicios remotos distribuídos (`jump`)\n"
|
|
"para asistirle con las consultas fallidas."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:60
|
|
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\">Formularios de añadido de servidores</a> HTTP "
|
|
"que permiten \n"
|
|
"a los usuarios añadir servidores a su hosts.txt local."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:63
|
|
msgid ""
|
|
"HTTP <a href=\"#jump-services\">jump services</a> which provide their own"
|
|
" lookups and redirection."
|
|
msgstr ""
|
|
"<a href=\"#jump-services\">Servicios distribuídos (`jump`)</a> HTTP que "
|
|
"proporcionan \n"
|
|
"sus propias consultas y redirecciones."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:66
|
|
msgid ""
|
|
"The <a href=\"#addressbook\">addressbook</a> application which merges "
|
|
"external\n"
|
|
"host lists, retrieved via HTTP, with the local list."
|
|
msgstr ""
|
|
"La aplicación de <a href=\"#addressbook\">guía de direcciones</a> que \n"
|
|
"fusiona listas externas de servidores, con la lista local."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:70
|
|
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 ""
|
|
"La aplicación <a href=\"#susidns\">SusiDNS</a> que es un sencillo frontal"
|
|
" web para la configuración \n"
|
|
"de la guía de direcciones y el visionado de las listas locales de "
|
|
"servidores."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:77
|
|
msgid "Naming Files and Lookups"
|
|
msgstr "Ficheros de nombres y consultas"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:79
|
|
#, python-format
|
|
msgid ""
|
|
"All destinations in I2P are 516-byte (or longer) keys.\n"
|
|
"(To be more precise, it is a 256-byte public key plus a 128-byte signing "
|
|
"key\n"
|
|
"plus a null certificate, which in Base64 representation is 516 bytes.\n"
|
|
"<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 ""
|
|
"Todos los destinos en I2P son claves de 516-bytes (o más largas).\n"
|
|
"(Para ser más precisos, es una clave pública de 256-bytes más una clave "
|
|
"de \n"
|
|
"firmado de 128-bytes más un certificado vacío, lo que en representación \n"
|
|
"Base64 son 516 byles.\n"
|
|
"Los <a href=\"%(namingdiscussion)s#certificates\">certificados</a> no se "
|
|
"usan ahora,\n"
|
|
"si se usaran, las claves serían más largas.\n"
|
|
"Un posible uso de certificados es como <a "
|
|
"href=\"%(todo)s#hashcash\">prueba de trabajo</a>.)"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:88
|
|
msgid ""
|
|
"If an application (i2ptunnel or the HTTP proxy) wishes to access\n"
|
|
"a destination by name, the router does a very simple local lookup\n"
|
|
"to resolve that name.\n"
|
|
"The client application (technically, the client side of I2CP in the I2P "
|
|
"API)\n"
|
|
"does a linear search through three local files, in order, to\n"
|
|
"look up host names and convert them to a 516-byte destination key:"
|
|
msgstr ""
|
|
"Si una aplicación (i2ptunnel o el proxy HTTP) quiere acceder al \n"
|
|
"destino mediante el nombre, el router hace una sencilla \n"
|
|
"consulta local para resolver el nombre.\n"
|
|
"La aplicación cliente (técnicamente, el lado del cliente de I2CP de \n"
|
|
"la API de I2P) hace una búsqueda lineal a través de tres ficheros \n"
|
|
"locales, para consultar nombres de servidor y convertirlos en \n"
|
|
"una clave de destino de 516-bytes:"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:103
|
|
msgid ""
|
|
"The lookup is case-insensitive.\n"
|
|
"The first match is used, and conflicts are not detected.\n"
|
|
"There is no enforcement of naming rules in lookups."
|
|
msgstr ""
|
|
"La consulta es independiente de mayúsculas/minúsculas \n"
|
|
"Se usa la primera coincidencia, y no se detectan los conflictos. \n"
|
|
"No hay aplicación de reglas de nombres en la consulta."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:109
|
|
#, python-format
|
|
msgid ""
|
|
"Lookups are cached for a few minutes.\n"
|
|
"There is an experimental facility for real-time lookups (a la DNS) over "
|
|
"the network within the router,\n"
|
|
"although it is not enabled by default\n"
|
|
"(see \"EepGet\" under <a "
|
|
"href=\"%(namingdiscussion)s#alternatives\">Alternatives on the discussion"
|
|
" page</a>)."
|
|
msgstr ""
|
|
"Las consultas se guardan en caché cada pocos minutos. Hay una \n"
|
|
"herramienta experimental para consultas en tiempo real (a la DNS) \n"
|
|
"sobre la red del router, pero no está activada de forma predeterminada \n"
|
|
"(vea \"EepGet\" bajo <a "
|
|
"href=\"%(namingdiscussion)s#alternatives\">Alternativas</a> en la página "
|
|
"de discusión)."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:116
|
|
msgid "HTTP Proxy"
|
|
msgstr "Proxy HTTP"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:118
|
|
msgid ""
|
|
"The HTTP proxy does a lookup via the router for all hostnames ending in "
|
|
"'.i2p'.\n"
|
|
"Otherwise, it forwards the request to a configured HTTP outproxy.\n"
|
|
"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-"
|
|
"Top Level Domain '.i2p'."
|
|
msgstr ""
|
|
"El proxy HTTP hace una consulta vía router para todos los nombres de "
|
|
"servidores \n"
|
|
"terminados en `.i2p`. De otra manera este envía la solicitud \n"
|
|
"a un proxy HTTP\n"
|
|
"configurado de salida (`outproxy`). Así, en la práctica, todos los "
|
|
"nombres de servidores \n"
|
|
"HTTP (eepsites) deben terminar en un pseudo-dominio-de-primer-nivel "
|
|
"`.i2p`."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:124
|
|
msgid ""
|
|
"If the router fails to resolve the hostname, the HTTP proxy returns\n"
|
|
"an error page to the user with links to several \"jump\" services.\n"
|
|
"See below for details."
|
|
msgstr ""
|
|
"Si el router falla en la resolución del nombre de servidor, el proxy \n"
|
|
"HTTP devuelve una página de error al usuario con enlaces a varios \n"
|
|
"servicios distribuídos (`jump`). Mire debajo para más detalles."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:130
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:77
|
|
msgid "Addressbook"
|
|
msgstr "Libreta de direcciones"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:131
|
|
msgid "Incoming Subscriptions and Merging"
|
|
msgstr "Suscripciones entrantes y fusionado"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:133
|
|
msgid ""
|
|
"The addressbook application periodically\n"
|
|
"retrieves other users' hosts.txt files and merges\n"
|
|
"them with the local hosts.txt, after several checks.\n"
|
|
"Naming conflicts are resolved on a first-come first-served\n"
|
|
"basis."
|
|
msgstr ""
|
|
"La aplicación de la guía de direcciones obtiene periódicamente los "
|
|
"ficheros \n"
|
|
"hosts.txt de otros usuarios y los fusiona con el fichero hosts.txt local "
|
|
"tras \n"
|
|
"varias comprobaciones. Los conflictos de nomenclatura se resuelven en \n"
|
|
"base al criterio `el primero en venir es el primero en ser servido`."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:141
|
|
msgid ""
|
|
"Subscribing to another user's hosts.txt file involves\n"
|
|
"giving them a certain amount of trust.\n"
|
|
"You do not want them, for example, 'hijacking' a new site\n"
|
|
"by quickly entering in their own key for a new site before\n"
|
|
"passing the new host/key entry to you."
|
|
msgstr ""
|
|
"Suscribirse al fichero hosts.txt de otros usuarios implica darles un \n"
|
|
"cierto nivel de confianza. \n"
|
|
"No querrá que ellos, por ejemplo, 'secuestren' un sitio nuevo \n"
|
|
"introduciendo rápidamente su propia clave para el nuevo sitio antes \n"
|
|
"de pasarle el nuevo servidor/clave a usted."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:149
|
|
msgid ""
|
|
"For this reason, the only subscription configured by\n"
|
|
"default is <code>http://www.i2p2.i2p/hosts.txt</code>,\n"
|
|
"which contains a copy of the hosts.txt included\n"
|
|
"in the I2P release.\n"
|
|
"Users must configure additional subscriptions in their\n"
|
|
"local addressbook application (via subscriptions.txt or <a "
|
|
"href=\"#susidns\">SusiDNS</a>)."
|
|
msgstr ""
|
|
"Por esta razón, la única suscripción configurada por defecto \n"
|
|
"es <code>http://www.i2p2.i2p/hosts.txt</code>,"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:158
|
|
msgid "Some other public addressbook subscription links:"
|
|
msgstr "Algunos enlaces extra de suscripciones de guías de direcciones públicas: "
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:165
|
|
msgid ""
|
|
"The operators of these services may have various policies for listing "
|
|
"hosts.\n"
|
|
"Presence on this list does not imply endorsement."
|
|
msgstr ""
|
|
"Los operadores de estos servicios pueden tener variadas políticas para \n"
|
|
"listar servidores. La presencia en esta lista no implica su respaldo."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:170
|
|
#: i2p2www/pages/site/docs/naming.html:182
|
|
msgid "Naming Rules"
|
|
msgstr "Reglas de nomenclatura"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:171
|
|
msgid ""
|
|
"While there are hopefully not any technical limitations within I2P on "
|
|
"host names,\n"
|
|
"the addressbook enforces several restrictions on host names\n"
|
|
"imported from subscriptions.\n"
|
|
"It does this for basic typographical sanity and compatibility with "
|
|
"browsers,\n"
|
|
"and for security.\n"
|
|
"The rules are essentially the same as those in RFC2396 Section 3.2.2.\n"
|
|
"Any hostnames violating these rules may not be propagated\n"
|
|
"to other routers."
|
|
msgstr ""
|
|
"Aunque afortunadamente no hay limitación técnica alguna en I2P para los \n"
|
|
"nombres de servidor, la guía de direcciones impone varias restricciones \n"
|
|
"sobre los nombres de servidor importados desde suscripciones. Hace \n"
|
|
"esto por higiene tipográfica básica y compatibilidad con navegadores, y \n"
|
|
"por seguridad. Las reglas son esencialmente las mismas que aquellas de \n"
|
|
"la Sección 3.2.2. en el RFC2396. Cualquier nombre de servidor que viole \n"
|
|
"esas reglas puede no ser propagado a otros routers."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:186
|
|
msgid "Names are converted to lower case on import."
|
|
msgstr "Los nombres se convierten a minúsculas al importarlos."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:190
|
|
msgid ""
|
|
"Names are checked for conflict with existing names in the existing "
|
|
"userhosts.txt and hosts.txt\n"
|
|
"(but not privatehosts.txt) after conversion to lower case."
|
|
msgstr ""
|
|
"Se comprueban los conflictos entre los nombres y los nombres existentes "
|
|
"en \n"
|
|
"userhosts.txt y hosts.txt (pero no privatehosts.txt) tras su conversión a"
|
|
" minúsculas."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:195
|
|
msgid "Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case."
|
|
msgstr ""
|
|
"Sólo deben contener [a-z] [0-9] '.' y '-' tras su conversión a "
|
|
"minúsculas."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:199
|
|
msgid "Must not start with '.' or '-'."
|
|
msgstr "No deben comenzar con '.' o '-'."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:203
|
|
msgid "Must end with '.i2p'."
|
|
msgstr "Debe terminar en «.i2p»."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:207
|
|
msgid "67 characters maximum, including the '.i2p'."
|
|
msgstr "Máximo 67 caracteres, incluyendo el '.i2p'."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:211
|
|
msgid "Must not contain '..'."
|
|
msgstr "No puede contener «..»."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:215
|
|
msgid "Must not contain '.-' or '-.' (as of 0.6.1.33)."
|
|
msgstr "No deben contener '.-' o '-.' (a partir de la 0.6.1.33)."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:219
|
|
msgid "Must not contain '--' except in 'xn--' for IDN."
|
|
msgstr "No deben contener '--' excepto en 'xn--' para IDN."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:223
|
|
msgid "Base32 hostnames (*.b32.i2p) are not allowed."
|
|
msgstr "Los nombres de servidor Base32 (*.b32.i2p) no están permitidos."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:227
|
|
msgid ""
|
|
"Certain hostnames reserved for project use are not allowed\n"
|
|
"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, "
|
|
"*.console.i2p, and others)"
|
|
msgstr ""
|
|
"Ciertos nombres de servidor reservados para uso del proyecto no están "
|
|
"autorizados \n"
|
|
"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, "
|
|
"*.console.i2p, y otros)"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:232
|
|
msgid "Keys are checked for base64 validity."
|
|
msgstr "Se comprueba la validez base64 de las claves."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:236
|
|
msgid ""
|
|
"Keys are checked for conflict with existing keys in hosts.txt (but not "
|
|
"privatehosts.txt)."
|
|
msgstr ""
|
|
"Se comprueba si las claves tienen conflictos con claves existentes en \n"
|
|
"hosts.txt (pero no privatehosts.txt)."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:240
|
|
msgid "Minimum key length 516 bytes."
|
|
msgstr "La longitud mínima de clave es 516 bytes."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:244
|
|
msgid "Maximum key length 616 bytes (to account for certs up to 100 bytes)."
|
|
msgstr ""
|
|
"La longitud máxima de clave es 616 bytes (para contar con certificados de"
|
|
" hasta 100 bytes)."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:249
|
|
msgid ""
|
|
"Any name received via subscription that passes all the checks is added to"
|
|
" the local hosts.txt."
|
|
msgstr ""
|
|
"Cualquier nombre recibido vía suscripción que pase todas las "
|
|
"comprobaciones, es añadido al hosts.txt local."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:253
|
|
msgid ""
|
|
"Note that the '.' symbols in a host name are of no significance,\n"
|
|
"and do not denote any actual naming or trust hierarchy.\n"
|
|
"If the name 'host.i2p' already exists, there is nothing\n"
|
|
"to prevent anybody from adding a name 'a.host.i2p' to their hosts.txt,\n"
|
|
"and this name can be imported by others' addressbook.\n"
|
|
"Methods to deny subdomains to non-domain 'owners' (certificates?),\n"
|
|
"and the desirability and feasibility of these methods,\n"
|
|
"are topics for future discussion."
|
|
msgstr ""
|
|
"Observe que los símbolos '.' en el nombre de servidor no tienen "
|
|
"significancia, \n"
|
|
"y no denotan jerarquía de confianza o de nomenclatura alguna. \n"
|
|
"Si el nombre 'host.i2p' ya existe, no hay nada que evite que alguien "
|
|
"añada \n"
|
|
"un nombre 'a.host.i2p' a su(s) hosts.txt, y este nombre pueda ser "
|
|
"importado \n"
|
|
"por las guías de direcciones de otros. Los métodos para denegar \n"
|
|
"subdominios a propietarios de no-dominios (¿certificados?), y lo deseable"
|
|
" \n"
|
|
"y factible de estos métodos, son temas para futura discusión."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:264
|
|
msgid ""
|
|
"International Domain Names (IDN) also work in i2p (using punycode 'xn--' "
|
|
"form).\n"
|
|
"To see IDN .i2p domain names rendered correctly in Firefox's location "
|
|
"bar,\n"
|
|
"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config."
|
|
msgstr ""
|
|
"Los Nombres de Dominio Internacionales (IDN) también funcionan con I2P \n"
|
|
"(usando la forma punycode 'xn--'). Para ver nombres de dominio .i2p IDN \n"
|
|
"correctamente formados en la barra de direcciones de Firefox, añada \n"
|
|
"'network.IDN.whitelist.i2p (boolean) = true' en about:config"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:270
|
|
msgid ""
|
|
"As the addressbook application does not use privatehosts.txt at all, in "
|
|
"practice\n"
|
|
"this file is the only place where it is appropriate to place private "
|
|
"aliases or\n"
|
|
"\"pet names\" for sites already in hosts.txt."
|
|
msgstr ""
|
|
"Como la aplicación de guía de direcciones no usa privatehosts.txt para "
|
|
"nada, \n"
|
|
"en la práctica este fichero es el único lugar donde es apropiado emplazar"
|
|
" \n"
|
|
"alias privados o \"nombres de mascota\" para sitios ya existentes en "
|
|
"hosts.txt"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:276
|
|
msgid "Outgoing Subscriptions"
|
|
msgstr "Suscripciones salientes"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:277
|
|
msgid ""
|
|
"Addressbook will publish the merged hosts.txt to a location\n"
|
|
"(traditionally hosts.txt in the local eepsite's home directory) to be "
|
|
"accessed by others\n"
|
|
"for their subscriptions.\n"
|
|
"This step is optional and is disabled by default."
|
|
msgstr ""
|
|
"La guía de direcciones publicará el hosts.txt fusionado hacia un \n"
|
|
"emplazamiento (tradicionalmente el hosts.txt del directorio home del \n"
|
|
"eepsite) para que sea accesible para las suscripciones de otros. \n"
|
|
"Este paso es opcional y está deshabilitado por defecto."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:285
|
|
msgid ""
|
|
"The addressbook application, together with eepget, saves the Etag and/or "
|
|
"Last-Modified\n"
|
|
"information returned by the web server of the subscription.\n"
|
|
"This greatly reduces the bandwidth required, as the web server will\n"
|
|
"return a '304 Not Modified' on the next fetch if nothing has changed."
|
|
msgstr ""
|
|
"La aplicación de guía de direcciones, junto con eepget, previene que la \n"
|
|
"información del Etag y/o la de Última-modificación sea devuelta por el \n"
|
|
"servidor web de la suscripción. Esto reduce enormemente el ancho de banda"
|
|
" \n"
|
|
"requerido ya que el servidor web devolverá un '304 No Modificado' en la \n"
|
|
"la siguiente toma de datos (`fetch`) si nada ha cambiado."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:292
|
|
msgid ""
|
|
"However the entire hosts.txt is downloaded if it has changed.\n"
|
|
"See below for discussion on this issue."
|
|
msgstr ""
|
|
"Sin embargo, si ha cambiado se descarga el hosts.txt completo. \n"
|
|
"Mire debajo las discusiones sobre este asunto."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:297
|
|
msgid ""
|
|
"Hosts serving a static hosts.txt or an equivalent CGI application\n"
|
|
"are strongly encouraged to deliver\n"
|
|
"a Content-Length header, and either an Etag or Last-Modified header.\n"
|
|
"Also ensure that the server delivers a '304 Not Modified' when "
|
|
"appropriate.\n"
|
|
"This will dramatically reduce the network bandwidth, and\n"
|
|
"reduce chances of corruption."
|
|
msgstr ""
|
|
"Se recomienda que los servidores que sirven un archivo host.txt o una "
|
|
"aplicación CGI equivalente, lleven una cabecera con el tqmaño del "
|
|
"contenido, Content-Length header, y una Etag o la última cabecera "
|
|
"modificada, Last-Modified header. Además asegúrese de que el servidor "
|
|
"muestra el aviso '304 Not Modified' cuando sea apropiado. Esto reducirá "
|
|
"dramáticamente el ancho de banda usado, y reducirá las posibilidades de "
|
|
"corrupción."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:306
|
|
msgid "Host Add Services"
|
|
msgstr "Servicio de gestión de dominios"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:307
|
|
msgid ""
|
|
"A host add service is a simple CGI application that takes a hostname and "
|
|
"a Base64 key as parameters\n"
|
|
"and adds that to its local hosts.txt.\n"
|
|
"If other routers subscribe to that hosts.txt, the new hostname/key\n"
|
|
"will be propagated through the network."
|
|
msgstr ""
|
|
"Un servicio de gestión de dominios es una aplicación CGI simple que toma "
|
|
"un nombre de dominio y una clave Base64 como parámetros y loa añade a su "
|
|
"hosts.txt local. SI otros ruters se suscriben a ese host.txt, el nuevo "
|
|
"nombre de domino/clave serán propagados a través de la red."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:314
|
|
msgid ""
|
|
"It is recommended that host add services impose, at a minimum, the "
|
|
"restrictions imposed by the addressbook application listed above.\n"
|
|
"Host add services may impose additional restrictions on hostnames and "
|
|
"keys, for example:"
|
|
msgstr ""
|
|
"Se recomienda que los servicios de gestión de dominios impongan, como "
|
|
"mínimo, las restricciones impuestas por la aplicación libreta de "
|
|
"direcciones listadas anteriormente. Los servicios de gestión de dominios "
|
|
"deben imponer restricciones adicionales en los nombres de dominio y en "
|
|
"las claves, por ejemplo:"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:319
|
|
msgid "A limit on number of 'subdomains'."
|
|
msgstr "Un 'límite' en el número de 'subdominios'."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:323
|
|
msgid "Authorization for 'subdomains' through various methods."
|
|
msgstr "Autorización para los 'subdominios' a través de varios métodos."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:327
|
|
msgid "Hashcash or signed certificates."
|
|
msgstr "Hashcash o certificados firmados."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:331
|
|
msgid "Editorial review of host names and/or content."
|
|
msgstr "Revisión editorial de los nombres de dominio y/o su contenido."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:335
|
|
msgid "Categorization of hosts by content."
|
|
msgstr "Clasificación de los dominios según su contenido."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:339
|
|
msgid "Reservation or rejection of certain host names."
|
|
msgstr "Reserva o rechazo de ciertos dominios."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:343
|
|
msgid "Restrictions on the number of names registered in a given time period."
|
|
msgstr ""
|
|
"Restricciones en el número de dominios registrados en un determinado "
|
|
"periodo de tiempo."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:347
|
|
msgid "Delays between registration and publication."
|
|
msgstr "Intervalos entre los registros y las publicaciones."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:351
|
|
msgid "Requirement that the host be up for verification."
|
|
msgstr "Exigir que el servidor esté funcionando para su verificaión."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:355
|
|
msgid "Expiration and/or revocation."
|
|
msgstr "Expiración y/o revocación."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:359
|
|
msgid "IDN spoof rejection."
|
|
msgstr "Denegación de IDN spoof."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:364
|
|
msgid "Jump Services"
|
|
msgstr "Servicios de salto"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:365
|
|
msgid ""
|
|
"A jump service is a simple CGI application that takes a hostname as a "
|
|
"parameter\n"
|
|
"and returns a 301 redirect to the proper URL with a "
|
|
"<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 servicio de salto, jump service, es una aplicación CGI que toma un "
|
|
"nombre de dominio como parámetro y devuelve una re-dirección 301 a la URL"
|
|
" apropiada con una cadena de texto <code>?i2paddresshelper=key</code> "
|
|
"añadida. El servidor HTTP interpretará la cadena de texto añadida y usará"
|
|
" la clave como la destinación actual. Además, el proxy cacheará esa clave"
|
|
" para que el address helper no sea necesario hasta el próximo reinicio."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:375
|
|
msgid ""
|
|
"Note that, like with subscriptions, using a jump service\n"
|
|
"implies a certain amount of trust, as a jump service could maliciously\n"
|
|
"redirect a user to an incorrect destination."
|
|
msgstr ""
|
|
"Dese cuenta que, al igual que con las suscripciones, el usar un servicio "
|
|
"de salto implica confianza de su parte, debe fiarse del servicio de "
|
|
"salto, ya que un servicio de salto podría redirigirle maliciosamente a "
|
|
"una destinación incorrecta."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:381
|
|
msgid ""
|
|
"To provide the best service, a jump service should be subscribed to\n"
|
|
"several hosts.txt providers so that its local host list is current."
|
|
msgstr ""
|
|
"Para proporcionar un mejor servicio, un servicio de salto debería estar "
|
|
"suscrito a varios proveedores de archivos host,.txt , para que su lista "
|
|
"local de dominios esté al día."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:387
|
|
msgid ""
|
|
"SusiDNS is simply a web interface front-end to configuring addressbook "
|
|
"subscriptions\n"
|
|
"and accessing the four addressbook files.\n"
|
|
"All the real work is done by the 'addressbook' application."
|
|
msgstr ""
|
|
"SusiDNS es simplemente un interfaz web para configurar las suscripciones "
|
|
"a la libreta de direcciones, y con acceso a los cuatro archivos de "
|
|
"libretas de direcciones. Todo el trabajo duro es realizado por la "
|
|
"aplicación 'addressbook', 'libreta de direcciones'."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:393
|
|
msgid ""
|
|
"Currently, there is little enforcement of addressbook naming rules within"
|
|
" SusiDNS,\n"
|
|
"so a user may enter hostnames locally that would be rejected by\n"
|
|
"the addressbook subscription rules."
|
|
msgstr ""
|
|
"Actualmente, hay poco control sobre las reglas de creación de los nombres"
|
|
" de dominio dentro de SusiDNS, por lo que un usuario puede añadir nombres"
|
|
" de dominios localmente que serían rechazados por las reglas de "
|
|
"suscripción de la libreta de direcciones."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:399
|
|
msgid "Base32 Names"
|
|
msgstr "Dominios Base32"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:400
|
|
msgid ""
|
|
"I2P supports Base32 hostnames similar to Tor's .onion addresses.\n"
|
|
"Base32 addresses are much shorter and easier to handle than the\n"
|
|
"full 516-character Base64 Destinations or addresshelpers.\n"
|
|
"Example: "
|
|
"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
|
|
msgstr ""
|
|
"I2P soporta nombres de dominios Base32 similares a las direcciones .onion"
|
|
" de Tor. Las direcciones Base32 son mucho más fáciles de manejar y mucho "
|
|
"más cortas que los addresshelpers o las Destinaciones Base64 de 516 "
|
|
"caracteres. Ejemplo:\n"
|
|
"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:407
|
|
msgid ""
|
|
"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 "
|
|
"hash.\n"
|
|
"I2P uses 52 characters (256 bits) to represent the full SHA-256 hash.\n"
|
|
"The form is {52 chars}.b32.i2p.\n"
|
|
"Base32 is implemented in the naming service, which queries the\n"
|
|
"router over I2CP to lookup the LeaseSet to get the full Destination.\n"
|
|
"Base32 lookups will only be successful when the Destination is up and "
|
|
"publishing\n"
|
|
"a LeaseSet.\n"
|
|
"Because resolution may require a network database lookup, it may take "
|
|
"significantly\n"
|
|
"longer than a local address book lookup."
|
|
msgstr ""
|
|
"En Tor, las direcciones son de 16 caracteres (80 bits), la mitad de un "
|
|
"hash SHA-1. I2P usa 52 caracteres (256 bits) para representar un hash "
|
|
"SHA-256 completo. La forma es {52 caracs}.b32.i2p. Las direcciones Base32"
|
|
" están implementadas en el servicio de nombres, lo que requiere que el "
|
|
"ruter en I2CP mire el LeaseSet para obtener el destino completo. Las "
|
|
"direcciones Base32 sólo serán accesibles si el Destino está funcionando y"
|
|
" publicando un LeaseSet. Ya que al resolver el dominio se requerirá una "
|
|
"búsqueda en la base de datos de la red, puede tardar bastante más que en "
|
|
"un búsqueda en la libreta de direcciones local."
|
|
|
|
#: i2p2www/pages/site/docs/naming.html:419
|
|
msgid ""
|
|
"Base32 addresses can be used in most places where hostnames or full "
|
|
"destinations\n"
|
|
"are used, however there are some exceptions where they may fail if the\n"
|
|
"name does not immediately resolve. I2PTunnel will fail, for example, if\n"
|
|
"the name does not resolve to a destination."
|
|
msgstr ""
|
|
"Las direcciones Base32 pueden ser usadas en la mayoría de sitios donde se"
|
|
" puedan usar los nombres de dominios o la Destinación completa, aunque "
|
|
"hay algunas excepciones donde podría fallar sin el dominio no se resuelve"
|
|
" inmediatamente, Por ejemplo, I2PTunnel fallará si el domino no resuelve "
|
|
"una destinación."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:2
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:65
|
|
msgid "Plugins"
|
|
msgstr "Complementos"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:3
|
|
msgid "June 2012"
|
|
msgstr "Junio de 2012"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:6
|
|
msgid "I2P Plugins"
|
|
msgstr "Complementos de I2P"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:8
|
|
msgid "General Information"
|
|
msgstr "Información general"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:9
|
|
msgid ""
|
|
"I2P includes a plugin architecture\n"
|
|
"to support easy development and installation of additional software."
|
|
msgstr ""
|
|
"I2P incluye una arquitectura de pluguins para dar soporte a la "
|
|
"instalación fácil y desarrollo fácil de aplicaciones adicionales."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:14
|
|
msgid ""
|
|
"There are now plugins available that support distributed email, blogs, "
|
|
"IRC\n"
|
|
"clients, distributed file storage, wikis, and more."
|
|
msgstr ""
|
|
"Ahora hay plugins disponibles que soportan email distribuído, blogs, \n"
|
|
"clientes IRC, almacenamiento de ficheros distribuído, wikis y más."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:19
|
|
msgid "Benefits to i2p users and app developers:"
|
|
msgstr ""
|
|
"Los beneficios para los usuarios de I2P y los desarrolladores de "
|
|
"aplicaciones son:"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:24
|
|
msgid "Easy distribution of applications"
|
|
msgstr "Fácil distribución de aplicaciones"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:28
|
|
msgid ""
|
|
"Allows innovation and use of additional libraries without worrying about\n"
|
|
"increasing the size of <code>i2pupdate.sud</code>"
|
|
msgstr ""
|
|
"Permite la innovación y el uso de librerías adicionales sin preocuparse "
|
|
"por el \n"
|
|
"incremento de tamaño de <code>i2pupdate.sud</code>"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:33
|
|
msgid ""
|
|
"Support large or special-purpose applications that would never be bundled"
|
|
"\n"
|
|
"with the I2P installation"
|
|
msgstr ""
|
|
"Soporta aplicaciones grandes o de proposito-especial que nunca serían \n"
|
|
"empaquetadas con la instalación de I2P"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:38
|
|
msgid "Cryptographically signed and verified applications"
|
|
msgstr "Aplicaciones criptográficamente firmadas y verificadas"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:42
|
|
msgid "Automatic updates of applications, just like for the router"
|
|
msgstr "Actualizaciones automáticas de aplicaciones, igual que para el router"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:46
|
|
msgid ""
|
|
"Separate initial install and update packages, if desired, for smaller "
|
|
"update downloads"
|
|
msgstr ""
|
|
"Paquetes separados para la instalación inicial y las actualizaciones, si "
|
|
"se \n"
|
|
"desea, para tener descargas de actualizaciones más pequeñas"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:50
|
|
msgid ""
|
|
"One-click installation of applications. No more asking users to modify\n"
|
|
"<code>wrapper.config</code> or <code>clients.config</code>"
|
|
msgstr ""
|
|
"Instalación de aplicaciones en un-sólo-clic. Sin preguntar más al usuario"
|
|
" \n"
|
|
"para modificar <code>wrapper.config</code> o <code>clients.config</code>"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:55
|
|
msgid "Isolate applications from the base <code>$I2P</code> installation"
|
|
msgstr "Aplicaciones aisladas desde la instalación base de <code>$I2P</code>"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:59
|
|
msgid ""
|
|
"Automatic compatibility checking for I2P version, Java version, Jetty\n"
|
|
"version, and previous installed application version"
|
|
msgstr ""
|
|
"Comprobación automática de compatibilidad para la versión de I2P, la "
|
|
"versión \n"
|
|
"de Java, la versión de Jetty, y versiones de la aplicación previamente "
|
|
"instaladas"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:64
|
|
msgid "Automatic link addition in console"
|
|
msgstr "Añadido automático de enlaces en la consola"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:68
|
|
msgid ""
|
|
"Automatic startup of application, including modifying classpath, without "
|
|
"requiring a restart"
|
|
msgstr ""
|
|
"Inicio automático de la aplicación, incluyendo modificación de la ruta de"
|
|
" \n"
|
|
"clases (`classpath`), sin requerir un reinicio"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:72
|
|
msgid "Automatic integration and startup of webapps into console Jetty instance"
|
|
msgstr ""
|
|
"Integración automática e inicio de aplicaciones web en la instancia de \n"
|
|
"consola Jetty"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:76
|
|
#, python-format
|
|
msgid ""
|
|
"Facilitate creation of 'app stores' like the one at\n"
|
|
"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
|
|
msgstr ""
|
|
"Facilita la creación de 'app stores' (tiendas de aplicaciones) como la de"
|
|
" \n"
|
|
"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:81
|
|
msgid "One-click uninstall"
|
|
msgstr "Desinstalación en un-sólo-clic"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:85
|
|
msgid "Language and theme packs for the console"
|
|
msgstr "Paquetes de idioma y de temas para la consola"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:89
|
|
msgid "Bring detailed application information to the router console"
|
|
msgstr "Trae información detallada de la aplicación a la consola del router"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:93
|
|
msgid "Non-java applications also supported"
|
|
msgstr "Las aplicaciones no-Java también están soportadas"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:99
|
|
msgid "Required I2P version"
|
|
msgstr "Versión de I2P requerida"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:100
|
|
msgid "0.7.12 or newer."
|
|
msgstr "0.7.12 o superior."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:102
|
|
msgid "Installation"
|
|
msgstr "Instalación"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:103
|
|
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 ""
|
|
"Para instalar e iniciar un plugin, copie el enlace de instalación "
|
|
"<code>.xpi2p</code> en \n"
|
|
"el formulario al final de <a "
|
|
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp"
|
|
" en la consola de su router</a> y \n"
|
|
"haga clic en el botón \"instalar plugin\". Después de que un plugin sea "
|
|
"instalado e iniciado, un enlace al plugin aparecerá normalmente en la "
|
|
"parte superior de su barra de resumen."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:112
|
|
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 ""
|
|
"Para actualizar un plugin a la última versión, tan solo haga clic en el "
|
|
"botón de actualización sobre <a "
|
|
"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>."
|
|
" También hay un botón para \n"
|
|
"comprobar si el plugin tiene una versión más reciente, así como un botón"
|
|
" \n"
|
|
"para buscar actualizaciones para todos los plugins. Se comprobará si hay"
|
|
" \n"
|
|
"actualizaciones para los plugins automáticamente cuando se actualice a \n"
|
|
"una nueva versión de I2P (sin incluír las versiones de desarrollo)."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:122
|
|
msgid "Development"
|
|
msgstr "Desarrollo"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:123
|
|
#, 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 ""
|
|
"Vea las últimas <a href=\"%(pluginspec)s\">especificaciones de "
|
|
"plugins</a> y el \n"
|
|
"<a href=\"http://%(zzz)s/forums/16\">forum de plugins</a> en %(zzz)s."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:128
|
|
#, python-format
|
|
msgid ""
|
|
"See also the sources for plugins developed by various people. Some "
|
|
"plugins, such\n"
|
|
"as <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, were "
|
|
"developed\n"
|
|
"specifically as examples."
|
|
msgstr ""
|
|
"Vea también las fuentes de los plugins desarrollados por varias personas."
|
|
" \n"
|
|
"Algunos plugins como <a "
|
|
"href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, fueron "
|
|
"desarrollados específicamente \n"
|
|
"como ejemplos."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:134
|
|
msgid ""
|
|
"<b>Developers wanted!</b> Plugins are a great way to learn more about I2P"
|
|
"\n"
|
|
"or easily add some feature."
|
|
msgstr ""
|
|
"<b>¡Se buscan desarrolladores!</b> Los plugins son una gran manera de \n"
|
|
"aprender más acerca de I2P o de añadir fácilmente alguna característica."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:139
|
|
msgid "Getting Started"
|
|
msgstr "Primeros pasos"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:140
|
|
#, python-format
|
|
msgid ""
|
|
"To create a plugin from an existing binary package you will need to get\n"
|
|
"makeplugin.sh from <a href=\"%(url)s\">the i2p.scripts branch in "
|
|
"monotone</a>."
|
|
msgstr ""
|
|
"Para crear un plugin desde un paquete binario existente necesitará "
|
|
"obtener \n"
|
|
"makeplugin.sh desde <a href=\"%(url)s\">el ramal (`branch`) de "
|
|
"i2p.scripts en monotone</a>."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:146
|
|
msgid "Known Issues"
|
|
msgstr "Problemas conocidos"
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:147
|
|
msgid ""
|
|
"Note that the router's plugin architecture does <b>NOT</b> currently\n"
|
|
"provide any additional security isolation or sandboxing of plugins."
|
|
msgstr ""
|
|
"Observe que la arquitectura del plugin del router actualmente <b>NO</b>\n"
|
|
"proporciona seguridad adicional, aislamiento o sandboxing de plugins."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:153
|
|
msgid ""
|
|
"Updates of a plugin with included jars (not wars) won't be recognized if\n"
|
|
"the plugin was already run, as it requires class loader trickery to flush"
|
|
" the\n"
|
|
"class cache; a full router restart is required."
|
|
msgstr ""
|
|
"Las actualizaciones de un plugin con jars (no wars) incluídos, no serán \n"
|
|
"reconocidas si el plugin ya se está ejecutando, ya que requiere usar \n"
|
|
"trucos en el cargador de clases ('class') para limpiar la caché de "
|
|
"clases;\n"
|
|
"se requiere un reinicio completo del router."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:159
|
|
msgid "The stop button may be displayed even if there is nothing to stop."
|
|
msgstr "El botón de parada podría mostarse incluso si no hay nada que parar."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:163
|
|
msgid ""
|
|
"Plugins running in a separate JVM create a <code>logs/</code> directory "
|
|
"in\n"
|
|
"<code>$CWD</code>."
|
|
msgstr ""
|
|
"Los plugins ejecutandose en una JVM crean un directorio "
|
|
"<code>logs/</code> en \n"
|
|
"<code>$CWD</code>."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:168
|
|
msgid ""
|
|
"No initial keys are present, except for those of jrandom and zzz (using "
|
|
"the\n"
|
|
"same keys as for router update), so the first key seen for a signer is\n"
|
|
"automatically accepted—there is no signing key authority."
|
|
msgstr ""
|
|
"No hay claves inciales presentes, excepto para aquellos de `jrandom` y "
|
|
"`zzz` \n"
|
|
"(que usan las mismas claves que para la actualización del router), por \n"
|
|
"lo que la primera clave vista para un firmante es automáticamente \n"
|
|
"aceptada—no hay autoridad de clave de firmado."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:174
|
|
msgid ""
|
|
"When deleting a plugin, the directory is not always deleted, especially "
|
|
"on\n"
|
|
"Windows."
|
|
msgstr ""
|
|
"Cuando se borra un plugin el directorio no siempre se borra, "
|
|
"especialmente \n"
|
|
"sobre Windows."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:179
|
|
msgid ""
|
|
"Installing a plugin requiring Java 1.6 on a Java 1.5 machine will result "
|
|
"in a\n"
|
|
"\"plugin is corrupt\" message if pack200 compression of the plugin file "
|
|
"is used."
|
|
msgstr ""
|
|
"Instalar un plugin que requiere Java 1.6 sobre una máquina Java 1.5 "
|
|
"resultará \n"
|
|
"en un mensaje \"el plugin está corrupto\" si se usó la compresión pack200"
|
|
" \n"
|
|
"en el fichero del plugin."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:184
|
|
msgid "Theme and translation plugins are untested."
|
|
msgstr "Los plugins de temas y traducciones no están probados."
|
|
|
|
#: i2p2www/pages/site/docs/plugins.html:188
|
|
msgid "Disabling autostart doesn't always work."
|
|
msgstr "Deshabilitar autoinicio no siempre funciona."
|
|
|
|
#: i2p2www/pages/site/docs/ports.html:2
|
|
msgid "Ports Used by I2P"
|
|
msgstr "Puertos usados por I2P"
|
|
|
|
#: 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 ""
|
|
"Estos son los puertos usados o reservados por I2P, incluyendo aquellos "
|
|
"para plugins conocidos, \n"
|
|
"alternativas comunes, \n"
|
|
"y algunas aplicaciones típicas relacionadas."
|
|
|
|
#: 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 ""
|
|
"Observe que muchos de estos no están habilitados de forma predeterminada."
|
|
" \n"
|
|
"Hay más información en las <a href=\"%(faq)s#ports\">FAQ</a>. Vea también"
|
|
" la documentación para plugins individuales. Los autores de los \n"
|
|
"plugins por favor añadan cualquier puerto que usen aquí. Para nuevos \n"
|
|
"plugins recomendamos usar el siguiente puerto disponible en el rango 766x."
|
|
|
|
#: i2p2www/pages/site/docs/ports.html:53
|
|
msgid "recommended spot for new plugins/applications"
|
|
msgstr "punto recomendado para nuevos plugins/aplicaciones"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:3
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:3
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:3
|
|
#: i2p2www/pages/site/docs/protocol/index.html:3
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:3
|
|
msgid "August 2010"
|
|
msgstr "Agosto del 2010"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:5
|
|
msgid "BOB - Basic Open Bridge"
|
|
msgstr "BOB- Basic Open Bridge (pasarela abierta básica)"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:7
|
|
msgid "Technical differences from SAM (for the better?)"
|
|
msgstr "Diferencias técnicas con SAM (¿para mejorarlo?)"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:9
|
|
msgid ""
|
|
"BOB has separate command and data channels. \n"
|
|
"One, an application command channel socket to router to configure.\n"
|
|
"Two, the application data sockets to/from router that carry only data.\n"
|
|
"The command channel is only needed for making or setting the initial\n"
|
|
"destination key, and to set the destination key to port bindings. \n"
|
|
"All connections run in parallel."
|
|
msgstr ""
|
|
"BOB tiene canales separados de comandos y de datos. \n"
|
|
"Uno, un socket de canal de comandos de aplicación hacia el router.\n"
|
|
"Dos, los sockets de datos de aplicación hacia/desde el router, que portan"
|
|
" \n"
|
|
"sólo datos.\n"
|
|
"El canal de comandos sólo es necesario para generar o establecer la clave"
|
|
" \n"
|
|
"de destino inicial, y para establecer las ligaduras (`bindings`) de las "
|
|
"claves \n"
|
|
"de destino con los puertos. Todas las conexiones se ejecutan en paralelo."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:18
|
|
msgid ""
|
|
"SAM has one connection that does everything, and you need to parse every "
|
|
"packet."
|
|
msgstr ""
|
|
"SAM tiene una conexión que hace todo, y usted necesita procesar todos los"
|
|
" paquetes."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:22
|
|
msgid ""
|
|
"BOB does not hold keypair values, nor does the router.\n"
|
|
"Your application holds the keypair values. \n"
|
|
"This is to reduce any extra complexity in the router code, it also adds "
|
|
"to\n"
|
|
"your privacy."
|
|
msgstr ""
|
|
"BOB no retiene valores de parejas de claves, tampoco lo hace el router. \n"
|
|
"La aplicación de usted retiene los valores de parejas de claves.\n"
|
|
"Esto es para reducir cualquier complejidad extra en el código del router,"
|
|
" \n"
|
|
"también contribuye a su privacidad."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:29
|
|
msgid "SAM router stores every keypair you ever make."
|
|
msgstr "El router SAM guarda cada par de claves que alguna vez haya generado."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:33
|
|
msgid "Those are the important differences."
|
|
msgstr "Esas son las diferencias importantes."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:37
|
|
msgid "<code>KEYS</code> = keypair public+private, these are BASE64"
|
|
msgstr "<code>CLAVES</code> = par de claves pública+privada, estas son BASE64"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:40
|
|
msgid "<code>KEY</code> = public key, also BASE64"
|
|
msgstr "<code>CLAVE</code> = clave pública, también BASE64"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:43
|
|
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> como está implícito, devuelve el mensaje <code>\"ERROR"
|
|
" \"+DESCRIPCIÓN+\"\n"
|
|
"\"</code>, donde la <code>DESCRIPCIÓN</code> es lo que fue mal."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:46
|
|
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> devuelve <code>\"OK\"</code>, y si se van a devolver "
|
|
"datos, se hará en la misma línea. <code>OK</code> significa que el "
|
|
"comando ha finalizado."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:49
|
|
msgid ""
|
|
"<code>DATA</code> lines contain information that you requested. There may"
|
|
" be multiple <code>DATA</code> lines per request."
|
|
msgstr ""
|
|
"<code>DATOS</code> líneas conteniendo la información que usted solicitó. "
|
|
"Puede haber múltiples líneas de <code>DATOS</code> por solicitud."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:53
|
|
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>NOTA:</b> El comando `help` es el ÚNICO comando que tiene una \n"
|
|
"excepción a las reglas... actualmente puede devolver ¡nada! Es "
|
|
"intencionado, \n"
|
|
"dado que `help` es un HUMANO y no un comando de APLICACIÓN."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:59
|
|
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>POR FAVOR OBSERVE QUE:</b> Para detalles ACTUALES de los comandos POR "
|
|
"FAVOR use el comando interno `help`. \n"
|
|
"Tan sólo haga telnet al localhost 2827, teclee `help` y podrá obtener la"
|
|
" \n"
|
|
"documentación completa para cada comando."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:65
|
|
msgid ""
|
|
"Commands never get obsoleted or changed, however new commands do get "
|
|
"added from time to time."
|
|
msgstr ""
|
|
"Los comandos nunca cambian o se vuelven obsoletos, sin embargo nuevos "
|
|
"comandos son añadidos de cuando en cuando."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:69
|
|
msgid "Here are the commands we have as of this writing:"
|
|
msgstr "Aquí están los comandos que tenemos en el momento de escirbir esto:"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:74
|
|
msgid "COMMAND"
|
|
msgstr "COMANDO"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:74
|
|
msgid "OPERAND"
|
|
msgstr "OPERANDO"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:74
|
|
msgid "RETURNS"
|
|
msgstr "DEVUELVE"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:101
|
|
msgid ""
|
|
"Once set up, all TCP sockets can and will block as needed, and there is "
|
|
"no need for any \n"
|
|
"additional messages to/from the command channel. This allows the router "
|
|
"to pace the\n"
|
|
"stream without exploding with OOM like SAM does as it chokes on "
|
|
"attempting to shove \n"
|
|
"many streams in or out one socket -- that can't scale when you have alot "
|
|
"of connections!"
|
|
msgstr ""
|
|
"Una vez configurado, todos los sockets TCP pueden y bloquearán según se \n"
|
|
"necesite, y no hay necesidad de mensaje adicional alguno hacia/desde el \n"
|
|
"canal de comandos. Esto permite al router marcar el paso del stream sin \n"
|
|
"reventar con un OOM (out of memory/agotamiento de memoria) como lo hace \n"
|
|
"SAM al ahogarse intentando empujar varios streams dentro o fuera de un \n"
|
|
"socket -- ¡que no puede crecer cuando tiene muchas conexiones!"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:108
|
|
msgid ""
|
|
"What is also nice about this particular interface is that writing "
|
|
"anything to interface \n"
|
|
"to it, is much much easier than SAM. There is no other processing to do "
|
|
"after the set up.\n"
|
|
"It's configuration is so simple, that very simple tools, such as nc "
|
|
"(netcat) can be used \n"
|
|
"to point to some application. The value there is that one could schedule "
|
|
"up and down times \n"
|
|
"for an application, and not have to change the application to do that, or"
|
|
" to even have \n"
|
|
"to stop that application. Instead, you can literally \"unplug\" the "
|
|
"destination, and \n"
|
|
"\"plug it in\" again. As long as the same IP/port addresses and "
|
|
"destination keys are used \n"
|
|
"when bringing the bridge up, the normal TCP application won't care, and "
|
|
"won't notice.\n"
|
|
"It will simply be fooled -- the destinations are not reachable, and that "
|
|
"nothing is coming in."
|
|
msgstr ""
|
|
"Lo que también es agradable acerca de esta interfaz en particular es que"
|
|
" \n"
|
|
"escribir algo para la interfaz, es mucho mucho más fácil que para SAM. \n"
|
|
"No hay ningún otro proceso que realizar después de configurarla. Su \n"
|
|
"configuración es tan simple, que muchas aplicaciones sencillas, tales \n"
|
|
"como nc (netcat) se pueden usar para apuntar a alguna aplicación. El "
|
|
"valor \n"
|
|
"ahí es que uno puede programar periodos de actividad e inactividad para \n"
|
|
"una aplicación, sin tener que cambiar la aplicación para hacer eso, o \n"
|
|
"incluso sin tener que detener esa aplicación. En su lugar, puede "
|
|
"literalmente\n"
|
|
"\"desenchufar\" el destino, y \"enchufarlo\" de nuevo. Mientras las "
|
|
"mismas \n"
|
|
"direcciones IP/puerto y claves de destino sean usadas al levantar la \n"
|
|
"pasarela, a las aplicaciones TCP normales no les importará, y no lo "
|
|
"notarán. Simplemente serán engañadas -- los destinos no son alcanzables,"
|
|
" \n"
|
|
"y así nada va a recibirse."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:120
|
|
msgid ""
|
|
"For the following example, we'll setup a very simple local loopback "
|
|
"connection, \n"
|
|
"with two destinations. Destination \"mouth\" will be the CHARGEN service "
|
|
"from \n"
|
|
"the INET superserver daemon. Destination \"ear\" will be a local port "
|
|
"that you\n"
|
|
"can telnet into, and watch the pretty ASCII test puke forth."
|
|
msgstr ""
|
|
"Para el siguiente ejemplo, estableceremos un conexión loopback local \n"
|
|
"muy simple, con dos destinos. El destino \"boca\" será el servicio \n"
|
|
"CHARGEN desde el demonio superservidor INET. El destino \"oido\" será \n"
|
|
"un puerto local sobre el que podrá hacer telnet, y observar el precioso \n"
|
|
"ASCII de prueba vomitado."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:128
|
|
msgid "EXAMPLE SESSION DIALOGUE -- simple telnet 127.0.0.1 2827 works"
|
|
msgstr "DIÁLOGO DE SESIÓN DE EJEMPLO -- un simple `telnet 127.0.0.1 2827` funciona"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:129
|
|
msgid "Application"
|
|
msgstr "Aplicación"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:130
|
|
msgid "BOB's Command response."
|
|
msgstr "Respuesta al comando de BOB."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:132
|
|
#: i2p2www/pages/site/docs/api/bob.html:144
|
|
#: i2p2www/pages/site/docs/api/bob.html:164
|
|
#: i2p2www/pages/site/docs/api/bob.html:272
|
|
#: i2p2www/pages/site/docs/api/bob.html:284
|
|
#: i2p2www/pages/site/docs/api/bob.html:299
|
|
msgid "FROM"
|
|
msgstr "DESDE"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:132
|
|
#: i2p2www/pages/site/docs/api/bob.html:144
|
|
#: i2p2www/pages/site/docs/api/bob.html:164
|
|
#: i2p2www/pages/site/docs/api/bob.html:272
|
|
#: i2p2www/pages/site/docs/api/bob.html:284
|
|
#: i2p2www/pages/site/docs/api/bob.html:299
|
|
msgid "TO"
|
|
msgstr "HACIA"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:132
|
|
#: i2p2www/pages/site/docs/api/bob.html:144
|
|
#: i2p2www/pages/site/docs/api/bob.html:164
|
|
#: i2p2www/pages/site/docs/api/bob.html:272
|
|
#: i2p2www/pages/site/docs/api/bob.html:284
|
|
#: i2p2www/pages/site/docs/api/bob.html:299
|
|
msgid "DIALOGUE"
|
|
msgstr "DIÁLOGO"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:139
|
|
msgid "MAKE NOTE OF THE ABOVE DESTINATION KEY, YOURS WILL BE DIFFERENT!"
|
|
msgstr "ANOTE LA CLAVE DE DESTINO ANTERIOR, ¡LA SUYA SERÁ DIFERENTE!"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:153
|
|
msgid ""
|
|
"At this point, there was no error, a destination with a nickname of "
|
|
"\"mouth\" \n"
|
|
"is set up. When you contact the destination provided, you actually "
|
|
"connect \n"
|
|
"to the <code>CHARGEN</code> service on <code>19/TCP</code>."
|
|
msgstr ""
|
|
"En este punto no hubo error, un destino con un apodo de \"boca\" está \n"
|
|
"establecido. Cuando contacte con el destino proporcionado, en realidad \n"
|
|
"conectará con el servicio <code>CHARGEN</code> sobre <code>19/TCP</code>."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:159
|
|
msgid "Now for the other half, so that we can actually contact this destination."
|
|
msgstr ""
|
|
"Ahora para la otra mitad, para que realmente podamos contactar con este "
|
|
"destino."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:179
|
|
msgid ""
|
|
"Now all we need to do is telnet into 127.0.0.1, port 37337,\n"
|
|
"send the destination key or host address from addressbook we want to "
|
|
"contact.\n"
|
|
"In this case, we want to contact \"mouth\", all we do is paste in the\n"
|
|
"key and it goes."
|
|
msgstr ""
|
|
"Ahora todo lo que necesitamos es hacer telnet a 127.0.0.1, puerto 37337,"
|
|
" \n"
|
|
"enviar la clave destino o la dirección del servidor de la guía de "
|
|
"direcciones \n"
|
|
"con la que queramos contactar. En este caso, queremos contactar con \n"
|
|
"\"boca\", todo lo que haremos es pegar la clave e irá."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:186
|
|
msgid ""
|
|
"<b>NOTE:</b> The \"quit\" command in the command channel does NOT "
|
|
"disconnect the tunnels like SAM."
|
|
msgstr ""
|
|
"<b>NOTA:</b> El comando \"quit\" en el canal de comandos NO desconecta \n"
|
|
"los túneles como SAM."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:203
|
|
msgid "After a few virtual miles of this spew, press <code>Control-]</code>"
|
|
msgstr ""
|
|
"Después de unas pocas millas virtuales de esta eyección, presione "
|
|
"<code>Control-]</code>"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:215
|
|
msgid "Here is what happened..."
|
|
msgstr "Aquí está lo que sucedió..."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:223
|
|
msgid "You can connect to EEPSITES too!"
|
|
msgstr "¡También puede conectar con EEPSITES!"
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:256
|
|
msgid ""
|
|
"Pretty cool isn't it? Try some other well known EEPSITES if you like, "
|
|
"nonexistent ones, \n"
|
|
"etc, to get a feel for what kind of output to expect in different "
|
|
"situations. \n"
|
|
"For the most part, it is suggested that you ignore any of the error "
|
|
"messages. \n"
|
|
"They would be meaningless to the application, and are only presented for "
|
|
"human debugging."
|
|
msgstr ""
|
|
"Bastante chulo ¿verdad? Pruebe con algún otro EEPSITE bien conocido si \n"
|
|
"prefiere, o con los no existentes, etc. para conseguir una sensación de "
|
|
"qué \n"
|
|
"tipo de resultado esperar en diferentes situaciones. Para la mayor parte,"
|
|
" se \n"
|
|
"sugiere que ignore cualquier tipo de mensajes de error. No tendrían "
|
|
"significado \n"
|
|
"para la aplicación, y sólo son presentados para depuración por humanos."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:263
|
|
msgid "Let's put down our destinations now that we are all done with them."
|
|
msgstr ""
|
|
"Desactivemos nuestros destinos ahora que hemos terminado del todo con "
|
|
"ellos."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:267
|
|
msgid "First, lets see what destination nicknames we have."
|
|
msgstr "Primero, veamos que apodos de destino tenemos."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:279
|
|
msgid "Alright, there they are. First, let's remove \"mouth\"."
|
|
msgstr "De acuerdo, ahí las tiene. Primero, eliminemos \"boca\" (`mouth`)."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:293
|
|
msgid ""
|
|
"Now to remove \"ear\", note that this is what happens when you type too "
|
|
"fast,\n"
|
|
"and shows you what typical ERROR messages looks like."
|
|
msgstr ""
|
|
"Ahora para eliminar \"oido\" (`ear`), note que esto es lo que ocurre "
|
|
"cuando teclea\n"
|
|
"demasiado rápido, y le muestra el aspecto de los típicos mensajes de "
|
|
"ERROR."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:312
|
|
msgid ""
|
|
"I won't bother to show an example of the receiver end of a bridge\n"
|
|
"because it is very simple. There are two possible settings for it, and\n"
|
|
"it is toggled with the \"quiet\" command."
|
|
msgstr ""
|
|
"No le molestaré mostrando un ejemplo de un receptor final de una pasarela"
|
|
" \n"
|
|
"(`bridge`) porque es muy simple. Hay dos posibles configuraciones para "
|
|
"ello, \n"
|
|
"y se accionan con el comando \"quiet\" (silenciar)."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:318
|
|
msgid ""
|
|
"The default is NOT quiet, and the first data to come into your\n"
|
|
"listening socket is the destination that is making the contact. It is a\n"
|
|
"single line consisting of the BASE64 address followed by a newline.\n"
|
|
"Everything after that is for the application to actually consume."
|
|
msgstr ""
|
|
"La configuración por defecto es NO silenciado, a y los primeros datos en"
|
|
" \n"
|
|
"llegar a su socket de escucha es el destiono que está estableciendo el \n"
|
|
"contacto. Es una sola línea consistente en una dirección BASE64 seguida \n"
|
|
"de una nueva línea. Todo lo que viene después de aquello es en realidad \n"
|
|
"para consumo de la aplicación."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:325
|
|
msgid ""
|
|
"In quiet mode, think of it as a regular Internet connection. No\n"
|
|
"extra data comes in at all. It's just as if you are plain connected to\n"
|
|
"the regular Internet. This mode allows a form of transparency much like\n"
|
|
"is available on the router console tunnel settings pages, so that you\n"
|
|
"can use BOB to point a destination at a web server, for example, and\n"
|
|
"you would not have to modify the web server at all."
|
|
msgstr ""
|
|
"En modo silencioso, piense en él como en una conexión regular a Internet."
|
|
" \n"
|
|
"No hay dato extra entrante alguno. Es tan solo como si estuviera "
|
|
"conectado \n"
|
|
"normalmente al Internet regular. Este modo permite una forma de "
|
|
"transparencia \n"
|
|
"muy parecida a la que está disponible en las páginas de configuración del"
|
|
" \n"
|
|
"túnel de la consola del router, así que usted puede, por ejemplo, usar "
|
|
"BOB \n"
|
|
"para apuntar hacia un destino en un servidor web, y no tendría que "
|
|
"modificar \n"
|
|
"para nada el servidor web."
|
|
|
|
#: i2p2www/pages/site/docs/api/bob.html:334
|
|
msgid ""
|
|
"The advantage with using BOB for this is as discussed\n"
|
|
"previously. You could schedule random uptimes for the application,\n"
|
|
"redirect to a different machine, etc. One use of this may be something\n"
|
|
"like wanting to try to goof up router-to-destination upness guessing.\n"
|
|
"You could stop and start the destination with a totally different\n"
|
|
"process to make random up and down times on services. That way you\n"
|
|
"would only be stopping the ability to contact such a service, and not\n"
|
|
"have to bother shutting it down and restarting it. You could redirect\n"
|
|
"and point to a different machine on your LAN while you do updates, or\n"
|
|
"point to a set of backup machines depending on what is running, etc,\n"
|
|
"etc. Only your imagination limits what you could do with BOB."
|
|
msgstr ""
|
|
"La ventaja de usar BOB para esto es la que fue discutida previamente. \n"
|
|
"Puede programar periodos de actividad aleatorios para la aplicación, "
|
|
"redirigirla \n"
|
|
"a una máquina diferente, etc. Un uso de esto puede ser algo parecido a \n"
|
|
"tratar de confundir acciones de estimación de la conectividad router-"
|
|
"destino. \n"
|
|
"Puede detener e iniciar el destino con un proceso totalmente diferente "
|
|
"para \n"
|
|
"establecer periodos aleatorios de actividad e inactividad para los "
|
|
"servicios. De ese modo sólo se estaría deteniendo la capacidad de "
|
|
"contactar con tal \n"
|
|
"servicio, sin tener que preocuparse cerrándolo y reiniciándolo. Podría "
|
|
"redirigir \n"
|
|
"y apuntar a una máquina diferente de su LAN, mientras hace "
|
|
"actualizaciones, \n"
|
|
"o apuntar a un conjunto de máquinas de respaldo dependiendo de lo que se "
|
|
"esté ejecuntando, etc, etc. Sólo su imaginación limita lo que podría "
|
|
"hacer con BOB."
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:6
|
|
msgid "Datagram Overview"
|
|
msgstr "Un vistazo a los datagramas"
|
|
|
|
#: 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 ""
|
|
"Los datagramas se construyen sobre la base de <a "
|
|
"href=\"%(i2cp)s\">I2CP</a> para proporcionar \n"
|
|
"autentificación y mensajes respondibles en un formato standard. \n"
|
|
"Esto permite a las aplicaciones leer con fiabilidad la dirección \"from\""
|
|
" (desde)\n"
|
|
"de los datragramas, y confirmar que la dirección envió efectivamente el "
|
|
"mensaje. \n"
|
|
"Esto es necesario para algunas aplicaciones ya que el mensaje base I2P es"
|
|
" \n"
|
|
"completamente crudo (`raw`) - no tiene dirección \"from\" (al contrario "
|
|
"que los \n"
|
|
"paquetes IP). Además el mensaje y el emisor son autentificados mediante \n"
|
|
"el firmado de la carga."
|
|
|
|
#: 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 ""
|
|
"Los datagramas, al igual que los <a href=\"%(streaming)s\">paquetes de la"
|
|
" librería de streaming</a>, son una construcción al nivel de aplicación. "
|
|
"Estos protocolos son diferentes de los <a "
|
|
"href=\"%(transports)s\">transportes</a> de bajo nivel; estos protocolos "
|
|
"son convertidos en mensajes I2NP por el ruter, y así cualquier protocolo "
|
|
"puede ser llevado por cualquier transporte."
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:25
|
|
msgid "Application Guide"
|
|
msgstr "Guía de aplicaciones"
|
|
|
|
#: 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 ""
|
|
"Las aplicaciones escritas en Java pueden usar la <a href=\"%(url)s\">API "
|
|
"datagram</a>, mientras que las aplicaciones en otros idomas pueden usar"
|
|
" \n"
|
|
"el soporte datagram de <a href=\"%(sam)s\">SAM</a>. También hay soporte "
|
|
"limitado en i2ptunnel en el <a href=\"%(socks)s\">proxy SOCKS</a>, los \n"
|
|
"tipos de túnel 'streamr', y las clases udpTunnel."
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:37
|
|
msgid "Datagram Length"
|
|
msgstr "Longitud del datagrama"
|
|
|
|
#: 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 ""
|
|
"El diseñador de la aplicación debe considerar cuidadosamente las\n"
|
|
"contrapartidas de datagramas respondibles frente a los no-respondibles. \n"
|
|
"El tamaño del datagrama también afectaría a la fiabilidad, debido a la \n"
|
|
"fragmentación del túnel en mensajes de túnel de 1KB. Cuantos más \n"
|
|
"fragmentos de mensaje, más probable es que uno de ellos se pierda en un \n"
|
|
"salto intermedio. Los mensajes más largos de unos pocos KB no están \n"
|
|
"recomendados. Por encima de alrededor de 10KB, la probabilidad de entrega"
|
|
" \n"
|
|
"cae dramáticamente. Los mensajes por encima de 16KB no pueden ser \n"
|
|
"entregados sobre NTCP (TCP basado en NIO)."
|
|
|
|
#: 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 ""
|
|
"Observe también que del variado tráfico de control añadido por las capas"
|
|
" \n"
|
|
"inferiores, en particular la asimétrica <a "
|
|
"href=\"%(elgamalaes)s\">ElGamal/AES</a>, coloca una \n"
|
|
"gran carga sobre los mensajes intermitentes tales como los usados por \n"
|
|
"una aplicación Kademlia-sobre-UDP. Las implementaciones actualmente \n"
|
|
"se ajustan para tráfico frecuente usando la librería streaming. Por \n"
|
|
"ejemplo, si hay un alto número de etiquetas de sesión entregadas, y una \n"
|
|
"vida corta de etiqueta de sesión. Actualmente no hay parámetros de \n"
|
|
"configuración disponibles dentro de I2CP para ajustar los parametros de \n"
|
|
"la Etiqueta de Sesión ElGamal."
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:57
|
|
msgid "I2CP Protocol Number and Ports"
|
|
msgstr "Número de protocolo y puertos de 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 ""
|
|
"El número stadard del protocolo I2CP (Protocolo de Cliente I2P) para \n"
|
|
"datagramas es PROTO_DATAGRAM (17). Las aplicaciones pueden o no \n"
|
|
"elegir establecer el protocolo en la cabecera I2CP. No está establecido "
|
|
"por \n"
|
|
"defecto. Debe ser establecido para demultiplexar el datagrama y el "
|
|
"tráfico de streaming recibido en el mismo Destino."
|
|
|
|
#: 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 ""
|
|
"Como los datagramas no están orientados a la conexión, la aplicación "
|
|
"puede \n"
|
|
"requerir números de puerto para correlacionar los datagramas con pares "
|
|
"('peers') concrectos o sesiones de comunicaciones, como es tradicional "
|
|
"con UDP sobre IP. Las aplicaciones pueden añadir puertos 'from' (origen) "
|
|
"y 'to' (destino) a la cabecera (gzip) I2CP como se describe en la <a "
|
|
"href=\"%(i2cp)s#format\">página de 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 ""
|
|
"No hay método dentro de la API datagram para especificar si es no-"
|
|
"respondible (raw (crudo)) o respondible. La aplicación debe ser designada"
|
|
" \n"
|
|
"para esperar el tipo apropiado. El número de protocolo I2CP o el puerto \n"
|
|
"debería ser usado por la aplicación para indicar el tipo de datagrama. "
|
|
"Los \n"
|
|
"números de protocolo I2CP `PROTO_DATAGRAM_RAW` se definen en la \n"
|
|
"<a href=\"%(i2psession)s\">API I2PSession</a> para este propósito. Un "
|
|
"patrón de diseño común en aplicaciones datagrama cliente/servidor es usar"
|
|
" \n"
|
|
"datagramas firmados para una petición que incluye un nonce (valor de \n"
|
|
"seguridad de un único uso), y usa un datagrama crudo (`raw`) para la \n"
|
|
"respuesta, devolviendo el nonce desde la petición."
|
|
|
|
#: 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 ""
|
|
"Los protocolos y puertos pueden ser establecidos en la <a "
|
|
"href=\"%(i2psession)s\">API I2PSession</a> \n"
|
|
"de I2CP, tal como están implementados en <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 "Integridad de los datos"
|
|
|
|
#: 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 ""
|
|
"La integridad de los datos está asegurada por el checksum CRC-32 de gzip"
|
|
" \n"
|
|
"implementado en <a href=\"%(i2cp)s#format\">la capa I2CP</a>. No hay "
|
|
"campo checksum en el protocolo datagram"
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:100
|
|
#: i2p2www/pages/site/docs/api/streaming.html:389
|
|
msgid "Packet Encapsulation"
|
|
msgstr "Encapsulado de paquetes"
|
|
|
|
#: 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 ""
|
|
"Cada datagrama se envía a través de I2P como un mensaje único (o como un "
|
|
"'clove' (diente) individual en un `<a href=\"%(garlicrouting)s\">Garlic "
|
|
"Message</a>)` (mensaje ajo). \n"
|
|
"La encapsulación del mensaje se implementa en los <a "
|
|
"href=\"%(i2cp)s\">I2CP</a>, <a href=\"%(i2np)s\">I2NP</a>, y \n"
|
|
"las capas de <a href=\"%(tunnelmessage)s\">mensaje de túnel</a> "
|
|
"subyacentes. No hay mecanismo \n"
|
|
"delimitador de paquetes o campo de tamaño en el protocolo datagram."
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:114
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:10
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:567
|
|
msgid "Specification"
|
|
msgstr "Especificación"
|
|
|
|
#: i2p2www/pages/site/docs/api/datagrams.html:116
|
|
msgid "See the Datagrams Specification page."
|
|
msgstr "Vea la página de Especificaciones de Datagramas."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:4
|
|
msgid "I2PControl - Remote Control Service"
|
|
msgstr "I2PControl - Servicio de Control Remoto"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:5
|
|
#, 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 habilita una interfaz <a href=\"http://en.wikipedia.org/wiki/JSON-"
|
|
"RPC\">JSONRPC2</a> a través del plugin <a "
|
|
"href=\"%(itoopie)s\">I2PControl</a>. \n"
|
|
"El proposito de la interfaz es proporcionar un camino sencillo a la "
|
|
"interacción con \n"
|
|
"un nodo I2P en ejecución. Un cliente, itoopie, ha sido desarrollado en "
|
|
"paralelo. \n"
|
|
"La implementación JSONRPC2 para el cliente, así como el plugin, son \n"
|
|
"proporcionados por las librerías Java <a "
|
|
"href=\"http://software.dzhuvinov.com/json-rpc-2.0.html\">JSON-RPC "
|
|
"2.0</a>. Una lista de \n"
|
|
"implementaciones de JSON-RPC para varios idiomas puede encontrarse en \n"
|
|
"<a href=\"http://json-rpc.org/wiki/implementations\">el wiki de JSON-"
|
|
"RPC</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:12
|
|
msgid "I2PControl is by default listening on localhost:7650"
|
|
msgstr "I2PControl por defecto está escuchando en localhost:7650"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:14
|
|
msgid "API, version 1."
|
|
msgstr "API, versión 1."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:15
|
|
msgid "Parameters are only provided in a named way (maps)."
|
|
msgstr "Los parámetros sólo se proporcionan a través del nombre (mapas)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:19
|
|
msgid "JSON-RPC 2 format"
|
|
msgstr "Formato JSON-RPC 2"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:21
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:27
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:40
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:50
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:59
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:69
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:84
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:137
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:154
|
|
msgid "Request:"
|
|
msgstr "Petición:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:23
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:32
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:44
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:54
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:64
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:75
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:101
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:145
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:169
|
|
msgid "Response:"
|
|
msgstr "Respuesta:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:26
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:28
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:29
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:33
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:34
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:99
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:442
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:16
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:26
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:37
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:49
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:64
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:77
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:90
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:102
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:114
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:126
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:138
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:150
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:162
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:174
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:227
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:294
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:343
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:395
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:440
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:577
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:633
|
|
msgid "Description"
|
|
msgstr "Descripción"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:30
|
|
msgid ""
|
|
"Token used for authenticating every request (excluding the 'Authenticate'"
|
|
" RPC method)"
|
|
msgstr ""
|
|
"Muestra usada para autentificar cada petición (excluyendo el método RPC "
|
|
"'Authenticate')"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:38
|
|
msgid "Implemented methods"
|
|
msgstr "Métodos implemetados"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:39
|
|
msgid ""
|
|
"Creates and returns an authentication token used for further "
|
|
"communication."
|
|
msgstr ""
|
|
"Crea y devuelve un token de autentificación usado para comunicaciones "
|
|
"posteriores."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:41
|
|
msgid "The version of the I2PControl API used by the client."
|
|
msgstr "La versión del API de I2PControl usada por el cliente."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:42
|
|
msgid "The password used for authenticating against the remote server."
|
|
msgstr "La contraseña usada para autentificarse en el servidor remoto."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:45
|
|
msgid "The primary I2PControl API version implemented by the server."
|
|
msgstr "Versión del API principal de I2PControl implementado por el servidor."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:46
|
|
msgid "The token used for further communication."
|
|
msgstr "La muestra usada para la posterior comunicación."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:49
|
|
msgid "Echoes the value of the echo key, used for debugging and testing."
|
|
msgstr "Muestra el calor de la clave eco, se usa para depuración y pruebas."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:51
|
|
msgid "Value will be returned in response."
|
|
msgstr "Un valor será devuelto como respuesta."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:52
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:62
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:73
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:99
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:143
|
|
msgid ""
|
|
"Token used for authenticating the client. Is provided by the server via "
|
|
"the 'Authenticate' RPC method."
|
|
msgstr ""
|
|
"Token usado para autentificar el cliente. Es provisto por el servidor a "
|
|
"través del método RPC 'Authenticate'"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:55
|
|
msgid "Value of the key 'echo' in the request."
|
|
msgstr "Valor de la clave 'echo', clave eco, en la petición."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:58
|
|
msgid ""
|
|
"Fetches rateStat from router statManager. Creates stat if not already "
|
|
"created."
|
|
msgstr ""
|
|
"Obtiene el rateStat del StatManager del ruter. Crear el stat si no ha "
|
|
"sido creado ya."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:60
|
|
#, python-format
|
|
msgid ""
|
|
"Determines which rateStat to fetch, see <a "
|
|
"href=\"%(ratestats)s\">ratestats</a>."
|
|
msgstr ""
|
|
"Determina que rateStat debe obtenerse, vea <a "
|
|
"href=\"%(ratestats)s\">ratestats</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:61
|
|
msgid "Determines which period a stat is fetched for. Measured in ms."
|
|
msgstr "Determina para qué periodo de tiempo se obtendrá el stat. Se mide en ms."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:65
|
|
msgid "Returns the average value for the reuested rateStat and period."
|
|
msgstr "Devuelve el valor medio del periodo y del rateStat requerido."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:68
|
|
msgid "Manages I2PControl. Ports, passwords and the like."
|
|
msgstr "Administra I2PControl, Puertos, contraseñas y cosas de ese tipo."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:70
|
|
msgid ""
|
|
"Sets a new listen address for I2PControl (only 127.0.0.1 and 0.0.0.0 are "
|
|
"implemented in I2PControl currently)."
|
|
msgstr ""
|
|
"Cambia la dirección donde escucha I2PControl (sólo se han implementado "
|
|
"127.0.0.1 y 0.0.0.0 para I2PControl hasta ahora)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:71
|
|
msgid ""
|
|
"Sets a new password for I2PControl, all Authentication tokens will be "
|
|
"revoked."
|
|
msgstr ""
|
|
"Cambia la contraseña para I2PControl, todos los tokens de autentificación"
|
|
" serán revocados."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:72
|
|
msgid "Switches which port I2PControl will listen for connections on."
|
|
msgstr "Cambia el puerto en el que I2PControl escuchará por conexiones."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:76
|
|
msgid "Returned if address was changed"
|
|
msgstr "Devuelto si la dirección fue cambiada"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:77
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:78
|
|
msgid "Returned if setting was changed"
|
|
msgstr "Devuelto si la configuración fue cambiada"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:79
|
|
msgid "Returns true if any changes were made."
|
|
msgstr "Devuelve verdadero si se hizo algún cambio."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:80
|
|
msgid "Returns true if any changes requiring a restart to take effect were made."
|
|
msgstr ""
|
|
"Devuelve verdadero si se hizo algún cambio que necesite un reinicio para "
|
|
"tener efecto."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:83
|
|
msgid "Fetches basic information about the I2P router. Uptime, version etc."
|
|
msgstr ""
|
|
"Obtiene información básica sobre el ruter I2P. Tiempo encendido, versión,"
|
|
" etc."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:102
|
|
msgid "What the status of the router is."
|
|
msgstr "cuál es el estado del router."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:103
|
|
msgid "What the uptime of the router is in ms."
|
|
msgstr "Cuanto tiempo lleva encendido el ruter en ms."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:104
|
|
msgid "What version of I2P the router is running."
|
|
msgstr "Qué versión de I2P está ejecutando el ruter."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:105
|
|
msgid "The 1 second average inbound bandwidth in Bps."
|
|
msgstr "Media del ancho de banda de entrada durante 1 segundo, en Bps."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:106
|
|
msgid "The 15 second average inbound bandwidth in Bps."
|
|
msgstr "Media del ancho de banda de entrada durante 15 segundos, en Bps. "
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:107
|
|
msgid "The 1 second average outbound bandwidth in Bps."
|
|
msgstr "Media del ancho de banda de salida durante 1 segundo, en Bps."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:108
|
|
msgid "The 15 second average outbound bandwidth in Bps."
|
|
msgstr "Media del ancho de banda de salida durante 15 segundos, en Bps. "
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:109
|
|
msgid "What the current network status is. According to the below enum:"
|
|
msgstr "Cuál es el estado actual de la red. De acuerdo con la lista:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:128
|
|
msgid "How many tunnels on the I2P net are we participating in."
|
|
msgstr "En cuantos túneles estamos participando en la red I2p."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:129
|
|
msgid "How many peers have we communicated with recently."
|
|
msgstr "Con cuantos túneles nos hemos comunicado recientemente."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:130
|
|
msgid "How many peers are considered 'fast'."
|
|
msgstr "Cuantos pares se consideran como 'rápidos'."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:131
|
|
msgid "How many peers are considered 'high capacity'."
|
|
msgstr "Cuantos pares se consideran de 'alta capacidad'"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:132
|
|
msgid "Is the router reseeding hosts to its NetDB?"
|
|
msgstr "¿Está el ruter resembrando servidores a su NetDB?"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:133
|
|
msgid "How many peers are known to us (listed in our NetDB)."
|
|
msgstr "Cuantos pares conocemos (listados en nuestra NetDB)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:136
|
|
msgid "Manages I2P router restart/shutdown."
|
|
msgstr "Maneja el arrancado/apagado del ruter I2P."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:138
|
|
msgid ""
|
|
"Initiates a router reseed, fetching peers into our NetDB from a remote "
|
|
"host."
|
|
msgstr ""
|
|
"Inicia el resembrado de un ruter, obteniendo los pares para nuestra NetDB"
|
|
" desde un ordenador remoto."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:139
|
|
msgid "Restarts the router."
|
|
msgstr "Reinicia el router."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:140
|
|
msgid ""
|
|
"Restarts the router gracefully (waits for participating tunnels to "
|
|
"expire)."
|
|
msgstr ""
|
|
"Reinicia el ruter con cuidado (espera a que expiren los túneles "
|
|
"participantes)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:141
|
|
msgid "Shuts down the router."
|
|
msgstr "Apaga el router."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:142
|
|
msgid ""
|
|
"Shuts down the router gracefully (waits for participating tunnels to "
|
|
"expire)."
|
|
msgstr ""
|
|
"Apaga el ruter con cuidado (espera a que expiren los túneles "
|
|
"participantes)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:146
|
|
msgid "If requested, verifies that a reseed has been initiated."
|
|
msgstr "Si se ha requerido, verifica que el resembrado ha sido iniciado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:147
|
|
msgid "If requested, verifies that a restart has been initiated."
|
|
msgstr "Si se ha requerido, verifica que el reinicio ha sido iniciado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:148
|
|
msgid "If requested, verifies that a graceful restart has been initiated."
|
|
msgstr "Si se ha requerido, verifica que el reinicio con cuidado ha sido iniciado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:149
|
|
msgid "If requested, verifies that a shutdown has been initiated"
|
|
msgstr "Si se ha requerido, verifica que el apagado ha sido iniciado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:150
|
|
msgid "If requested, verifies that a graceful shutdown has been initiated"
|
|
msgstr "Si se ha requerido, verifica que el apagado con cuidado ha sido iniciado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:153
|
|
msgid "Fetches or sets various network related settings. Ports, addresses etc."
|
|
msgstr ""
|
|
"Obtiene un conjunto de configuraciones relacionadas con la red. Puertos, "
|
|
"direcciones, etc."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:155
|
|
msgid ""
|
|
"What port is used for the TCP transport. If null is submitted, current "
|
|
"setting will be returned."
|
|
msgstr ""
|
|
"Qué puerto es usado para el transporte TCP. Si se ha enviado null, se "
|
|
"devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:156
|
|
msgid ""
|
|
"What hostname is used for the TCP transport. If null is submitted, "
|
|
"current setting will be returned."
|
|
msgstr ""
|
|
"Qué nombre de dominio es usado para el transporte TCP. Si se ha enviado "
|
|
"null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:157
|
|
msgid ""
|
|
"Use automatically detected ip for TCP transport. If null is submitted, "
|
|
"current setting will be returned."
|
|
msgstr ""
|
|
"Usar la ip detectada automáticamente para el transporte TCP . Si se ha "
|
|
"enciado null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:158
|
|
msgid ""
|
|
"What port is used for the UDP transport. If null is submitted, current "
|
|
"setting will be returned."
|
|
msgstr ""
|
|
"Qué puerto es usado para el transporte UDP. Si se ha enviado null, se "
|
|
"devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:159
|
|
msgid ""
|
|
"What hostname is used for the UDP transport. If null is submitted, "
|
|
"current setting will be returned."
|
|
msgstr ""
|
|
"Qué nombre de dominio es usado para el transporte UDP. Si se ha enviado "
|
|
"null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:160
|
|
msgid ""
|
|
"Which methods should be used for detecting the ip address of the UDP "
|
|
"transport. If null is submitted, current setting will be returned."
|
|
msgstr ""
|
|
"Qué métodos deben susarse para detectar la dirección ip del transporte "
|
|
"UDP. Si se ha enviado null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:161
|
|
msgid "What ip has been detected by the UDP transport."
|
|
msgstr "Qué ip ha sido detectada para el transporte UDP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:162
|
|
msgid "Is UPnP enabled. If null is submitted, current setting will be returned."
|
|
msgstr ""
|
|
"Está UPnP activo. Si se ha enviado null, se devolverá la configuración "
|
|
"actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:163
|
|
msgid ""
|
|
"How many percent of bandwidth is usable for participating tunnels. If "
|
|
"null is submitted, current setting will be returned."
|
|
msgstr ""
|
|
"Qué tanto por ciento del ancho de banda es utilizable para los túneles "
|
|
"participantes. Si se ha enviado null, se devolverá la configuración "
|
|
"actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:164
|
|
msgid ""
|
|
"How many KB/s of inbound bandwidth is allowed. If null is submitted, "
|
|
"current setting will be returned."
|
|
msgstr ""
|
|
"Cuántos KB/s se permiten para el ancho de banda entrante. Si se ha "
|
|
"enviado null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:165
|
|
msgid ""
|
|
"How many KB/s of outbound bandwidth is allowed. If null is submitted, "
|
|
"current setting will be returned."
|
|
msgstr ""
|
|
"Cuántos KB/s se permiten para el ancho de banda de salida. Si se ha "
|
|
"enviado null, se devolverá la configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:166
|
|
msgid ""
|
|
"Is laptop mode enabled (change router identity and UDP port when IP "
|
|
"changes ). If null is submitted, current setting will be returned."
|
|
msgstr ""
|
|
"Si está el modo laptop activado (el cambio de la identidad del ruter "
|
|
"cuando cambia la IP). Si se ha enviado null, se devolverá la "
|
|
"configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:167
|
|
msgid ""
|
|
"Token used for authenticating the client. Is provided by the server via "
|
|
"the 'Authenticate' RPC method. If null is submitted, current setting will"
|
|
" be returned."
|
|
msgstr ""
|
|
"El identificador (`token`) usado para la autentificación del cliente, es "
|
|
"proporcionado por el servidor a través del método 'Authenticate' "
|
|
"(autentificar) de RPC. Si se envía vacío ('null'), se devolverá el valor "
|
|
"de configuración actual."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:170
|
|
msgid "If requested, returns the port used for the TCP transport."
|
|
msgstr "Si se solicita, devuelve el puerto usado para el transporte TCP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:171
|
|
msgid "If requested, returns the hostname used for the TCP transport."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el nombre del servidor usado para el transporte "
|
|
"TCP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:172
|
|
msgid ""
|
|
"If requested, returns the method used for automatically detecting ip for "
|
|
"the TCP transport."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el método usado para detectar automáticamente la"
|
|
" IP para el transporte TCP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:173
|
|
msgid "If requested, returns the port used for the UDP transport."
|
|
msgstr "Si se solicita, devuelve el puerto usado para el transporte UDP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:174
|
|
msgid "If requested, returns the hostname used for the UDP transport."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el nombre del servidor usado para el transporte "
|
|
"UDP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:175
|
|
msgid ""
|
|
"If requested, returns methods used for detecting the ip address of the "
|
|
"UDP transport."
|
|
msgstr ""
|
|
"Si se solicita, devuelve los métodos usados para detectar la dirección IP"
|
|
" del transporte UDP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:176
|
|
msgid "If requested, returns what ip has been detected by the UDP transport."
|
|
msgstr ""
|
|
"Si se solicita, devuelve la IP que ha sido detectada por el transporte "
|
|
"UDP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:177
|
|
msgid "If requested, returns the UPNP setting."
|
|
msgstr "Si se solicita, devuelve el valor de la configuración UPnP."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:178
|
|
msgid ""
|
|
"If requested, returns how many percent of bandwidth is usable for "
|
|
"participating tunnels."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el porcentaje de ancho de banda disponible para "
|
|
"los túneles participantes."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:179
|
|
msgid "If requested, returns how many KB/s of inbound bandwidth is allowed."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el número de KB/s de ancho de banda de entrada "
|
|
"que están permitidos."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:180
|
|
msgid "If requested, returns how many KB/s of outbound bandwidth is allowed."
|
|
msgstr ""
|
|
"Si se solicita, devuelve el número de KB/s de ancho de banda de salida "
|
|
"que están permitidos."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:181
|
|
msgid "If requested, returns the laptop mode."
|
|
msgstr "Si se solicita, devuelve el valor del modo laptop (portátil)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:182
|
|
msgid "Have the provided settings been saved."
|
|
msgstr "Han sido guardadas las configuraciones proporcionadas."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:183
|
|
msgid "Is a restart needed for the new settings to be used."
|
|
msgstr "Se necesita un reinicio para que las nuevas configuraciones se usen."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:186
|
|
msgid "denotes an optional value."
|
|
msgstr "denota un valor opcional."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:187
|
|
msgid "denotes a possibly occuring return value"
|
|
msgstr "denota un valor de retorno que posiblemente ocurra"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:189
|
|
msgid "Error codes"
|
|
msgstr "Códigos de error"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:190
|
|
msgid "Standard JSON-RPC2 error codes."
|
|
msgstr "Códigos de error standard JSON-RPC2."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:191
|
|
msgid "JSON parse error."
|
|
msgstr "Error de procesado JSON."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:192
|
|
msgid "Invalid request."
|
|
msgstr "Petición no válida."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:193
|
|
msgid "Method not found."
|
|
msgstr "Método no encontrado."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:194
|
|
msgid "Invalid parameters."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:195
|
|
msgid "Internal error."
|
|
msgstr "Error interno."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:197
|
|
msgid "I2PControl specific error codes."
|
|
msgstr "Códigos de error específicos de I2PControl."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:198
|
|
msgid "Invalid password provided."
|
|
msgstr "Se proporcionó una contraseña no válida."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:199
|
|
msgid "No authentication token presented."
|
|
msgstr "No se presentó la credencial (`token`) de autentificación."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:200
|
|
msgid "Authentication token doesn't exist."
|
|
msgstr "La credencial (`token`) de autentificación no existe"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:201
|
|
msgid "The provided authentication token was expired and will be removed."
|
|
msgstr "La credencial (`token`) de identificación ha expirado y será eliminada."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:202
|
|
msgid ""
|
|
"The version of the I2PControl API used wasn't specified, but is required "
|
|
"to be specified."
|
|
msgstr ""
|
|
"La versión de la API I2PControl usada no fue especificada, pero se "
|
|
"requiere que sea especificada."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2pcontrol.html:203
|
|
msgid ""
|
|
"The version of the I2PControl API specified is not supported by "
|
|
"I2PControl."
|
|
msgstr ""
|
|
"La versión de la API I2PControl especificada no está soportada por "
|
|
"I2PControl."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:13
|
|
#, python-format
|
|
msgid ""
|
|
"I2PTunnel is a tool for interfacing with and providing services on I2P.\n"
|
|
"Destination of an I2PTunnel can be defined using a <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 ""
|
|
"I2PTunnel es una herramienta para intermediar con, y proveer de servicios"
|
|
" a\n"
|
|
"I2P. El destino de un I2PTunnel puede ser definido usando un <a "
|
|
"href=\"%(naming)s\">nombre de servidor</a> \n"
|
|
"<a href=\"%(naming)s#base32\">Base32</a>, o una clave de destino completa"
|
|
" de 516-bytes. Un I2PTunnel establecido estará disponible sobre \n"
|
|
"su máquina cliente en localhost:puerto Si desea proporcionar un servicio"
|
|
" \n"
|
|
"sobre la red I2P, simplemente cree un I2PTunnel hasta la dirección "
|
|
"IP:puerto \n"
|
|
"apropiada. Se generarará una clave de destino de 516-bytes "
|
|
"correspondiente \n"
|
|
"para el servicio, y se hará disponible a través de I2P. Una interfaz web "
|
|
"para \n"
|
|
"la administración del I2PTunnel está disponible en <a "
|
|
"href=\"http://localhost:7657/i2ptunnel/\">localhost:7657/i2ptunnel/</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:25
|
|
msgid "Default Services"
|
|
msgstr "Servicios predeterminados"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:26
|
|
msgid "Server tunnels"
|
|
msgstr "Túneles de servidor"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:28
|
|
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>Servidor web I2P</b> - Un túnel apuntando a un servidor web Jetty se \n"
|
|
"ejecuta en <a href=\"http://localhost:7658\">localhost:7658</a> para un "
|
|
"hospedaje conveniente \n"
|
|
"y rápido en I2P.\n"
|
|
"<br>El documento raíz es: "
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:36
|
|
msgid "Client tunnels"
|
|
msgstr "Túneles de cliente"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:38
|
|
msgid ""
|
|
"A HTTP proxy used for browsing I2P and the regular internet anonymously "
|
|
"through I2P. \n"
|
|
"Browsing internet through I2P uses a random proxy specified by the "
|
|
"\"Outproxies:\" option."
|
|
msgstr ""
|
|
"Un proxy HTTP usado para navegar por I2P y la Internet regular de forma "
|
|
"anónima \n"
|
|
"a través de I2P. La navegación por Internet a través de I2P usa un proxy "
|
|
"aleatorio\n"
|
|
"especificado por la opción \"Outproxies:\" (proxys de salida)."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:42
|
|
msgid "An IRC tunnel to the default anonymous IRC network, Irc2P."
|
|
msgstr "Un túnel IRC hasta la red IRC anónima por defecto, Irc2P."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:43
|
|
#, python-format
|
|
msgid ""
|
|
"The anonymous <a href=\"%(monotone)s\">monotone</a>\n"
|
|
"sourcecode repository for I2P"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:47
|
|
#, python-format
|
|
msgid ""
|
|
"A SMTP service provided by postman at <a "
|
|
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
|
|
msgstr ""
|
|
"Un servicio SMTP proporcionado por postman en <a "
|
|
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:50
|
|
#, python-format
|
|
msgid ""
|
|
"The accompanying POP sevice of postman at <a "
|
|
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
|
|
msgstr ""
|
|
"El servicio POP acompañante de postman en <a "
|
|
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
|
|
msgid "Client Modes"
|
|
msgstr "Modos de cliente"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:56
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:138
|
|
msgid "Standard"
|
|
msgstr "Estándar"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:57
|
|
msgid ""
|
|
"Opens a local TCP port that connects to a service (like HTTP, FTP or "
|
|
"SMTP) on a destination inside of I2P.\n"
|
|
"The tunnel is directed to a random host from the comma seperated (\", \")"
|
|
" list of destinations."
|
|
msgstr ""
|
|
"Abre un puerto TCP local que conecta con un servicio (como HTTP, FTP o \n"
|
|
"SMTP) en un destino dentro de I2P. El túnel es dirigido a un servidor \n"
|
|
"aleatorio desde la lista de destinos separados por comas (\", \")."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:63
|
|
msgid ""
|
|
"A HTTP-client tunnel. The tunnel connects to the destination specified by"
|
|
" the URL\n"
|
|
"in a HTTP request. Supports proxying onto internet if an outproxy is "
|
|
"provided. Strips HTTP connections of the following headers:"
|
|
msgstr ""
|
|
"Un túnel de cliente-HTTP. El túnel conecta con el destino especificado "
|
|
"por la \n"
|
|
"URL en una petición HTTP. Soporta proxificación en Internet si se "
|
|
"proporciona \n"
|
|
"un proxy externo (`outproxy`). Desnuda las conexiones HTTP de las \n"
|
|
"siguientes cabeceras: "
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:68
|
|
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 y Accept-"
|
|
"Ranges</b> ya que varían bastante entre navegadores y pueden usarse como "
|
|
"identificador."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:76
|
|
msgid ""
|
|
"HTTP client/server tunnels are via I2Ptunnel force-enabling compression "
|
|
"via the following http headers:"
|
|
msgstr ""
|
|
"Los túneles HTTP de cliente/servidor vía I2PTunnel, están habilitando \n"
|
|
"a la fuerza la compresión mediante las siguientes cabeceras HTTP:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:83
|
|
msgid ""
|
|
"Depending on if the tunnel is using an outproxy or not it will append the"
|
|
" following User-Agent:"
|
|
msgstr ""
|
|
"Dependiendo de si el túnel está usando un proxy externo (`outproxy`) o "
|
|
"no, \n"
|
|
"adherirá el siguiente Agente de Usuario (`User-Agent`):"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:87
|
|
msgid "Outproxy:"
|
|
msgstr "Proxy de salida:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:88
|
|
msgid "Internal I2P use:"
|
|
msgstr "Uso interno de I2P:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:93
|
|
msgid ""
|
|
"Creates a connection to a random IRC server specified by the comma "
|
|
"seprated (\", \") \n"
|
|
"list of destinations. Only a whitelisted subset of IRC commands are "
|
|
"allowed due to anonymity concerns."
|
|
msgstr ""
|
|
"Crea una conexión a un servidor IRC aleatorio especificado por una lista "
|
|
"de \n"
|
|
"destinos separados por coma (\", \"). Sólo un subconjunto de comandos IRC"
|
|
" \n"
|
|
"de la lista blanca están permitidos debido a cuestiones de anonimato."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:97
|
|
msgid "Whitelist:"
|
|
msgstr "Lista blanca:"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:112
|
|
msgid "Enables using the I2P router as a SOCKS proxy."
|
|
msgstr "Habilita el uso del router I2P como un proxy SOCKS."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:117
|
|
msgid ""
|
|
"Enables using the I2P router as a SOCKS proxy with the command whitelist "
|
|
"specified by\n"
|
|
"<a href=\"#client-mode-irc\">IRC</a> client mode."
|
|
msgstr ""
|
|
"Habilita el uso de un router I2P como un proxy SOCKS con la lista blanca"
|
|
" \n"
|
|
"de comandos especificada por el modo cliente del <a href=\"#client-mode-"
|
|
"irc\">IRC</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:123
|
|
msgid ""
|
|
"Creates a HTTP tunnel and uses the HTTP request method \"CONNECT\" \n"
|
|
"to build a TCP tunnel that usually is used for SSL and HTTPS."
|
|
msgstr ""
|
|
"Crea un túnel HTTP y usa el método de petición HTTP \"CONNECT\" para \n"
|
|
"construír un túnel TCP que normalmente se usa para SSL y HTTPS."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:129
|
|
msgid ""
|
|
"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr "
|
|
"client tunnel will \n"
|
|
"subscribe to a streamr server tunnel."
|
|
msgstr ""
|
|
"Crea un servidor-UDP adosado a un I2PTunnel de cliente `Streamr`. El "
|
|
"túnel \n"
|
|
"del cliente streamr se suscribirá a un túnel de servidor streamr."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:137
|
|
msgid "Server Modes"
|
|
msgstr "Modos de servidor"
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:139
|
|
msgid "Creates a destination to a local ip:port with an open TCP port."
|
|
msgstr ""
|
|
"Crea un destino hacia una dirección IP:puerto local con un puerto TCP "
|
|
"abierto."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:144
|
|
msgid ""
|
|
"Creates a destination to a local HTTP server ip:port. Supports gzip for "
|
|
"requests with \n"
|
|
"Accept-encoding: x-i2p-gzip, replies with Content-encoding: x-i2p-gzip in"
|
|
" such a request."
|
|
msgstr ""
|
|
"Crea un destino a un servidor HTTP local IP:puerto Soporta gzip para las"
|
|
" \n"
|
|
"peticiones con\n"
|
|
"`Accept-encoding: x-i2p-gzip`, responde con `Content-encoding: x-i2p-"
|
|
"gzip` a tal petición."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:150
|
|
msgid ""
|
|
"Functions as both a I2PTunnel HTTP Server, and a I2PTunnel HTTP client "
|
|
"with no outproxying\n"
|
|
"capabilities. An example application would be a web application that does"
|
|
" client-type\n"
|
|
"requests, or loopback-testing an eepsite as a diagnostic tool."
|
|
msgstr ""
|
|
"Funciona tanto como un I2PTunnel de servidor HTTP, como un I2PTunnel \n"
|
|
"de cliente HTTP sin capacidades de proxificación externa (`outproxying`)."
|
|
" \n"
|
|
"Una aplicación de ejemplo sería una aplicación web que realice peticiones"
|
|
" \n"
|
|
"tipo-cliente, o que realice pruebas-loopback a un eepsite a modo de \n"
|
|
"herramienta de diagnóstico."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:157
|
|
msgid ""
|
|
"Creates a destination that filters the reqistration sequence of a client "
|
|
"and passes \n"
|
|
"the clients destination key as a hostname to the IRC-server."
|
|
msgstr ""
|
|
"Crea un destino que filtra la secuencia de registro de un cliente y pasa "
|
|
"la \n"
|
|
"clave de destino de los clientes como un nombre de servidor al servidor-"
|
|
"IRC."
|
|
|
|
#: i2p2www/pages/site/docs/api/i2ptunnel.html:163
|
|
msgid ""
|
|
"A UDP-client that connects to a media server is created. The UDP-Client "
|
|
"is coupled with a Streamr server I2PTunnel."
|
|
msgstr ""
|
|
"Se crea un cliente-UDP que conecta a los servidores de medios. El \n"
|
|
"cliente-UDP está emparejado con el I2PTunnel de servidor Streamr."
|
|
|
|
#: i2p2www/pages/site/docs/api/ministreaming.html:2
|
|
#: i2p2www/pages/site/docs/api/ministreaming.html:17
|
|
msgid "Ministreaming Library"
|
|
msgstr "Librería ministreaming"
|
|
|
|
#: i2p2www/pages/site/docs/api/ministreaming.html:5
|
|
msgid "Note"
|
|
msgstr "Nota"
|
|
|
|
#: 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 ""
|
|
"La librería ministreaming ha sido mejorada y extendida por la <a "
|
|
"href=\"%(streaming)s\">librería streaming</a>\"completa\". Ministreaming "
|
|
"está \n"
|
|
"desechada y es incompatible con las aplicaciones actuales. La siguiente \n"
|
|
"documentación es antigua. Observe también que esa libreria streaming \n"
|
|
"extiende la ministreaming en el mismo paquete Java "
|
|
"(net.i2p.client.streaming), \n"
|
|
"así que la <a href=\"%(api)s\">documentation de la API</a> actual "
|
|
"contiene \n"
|
|
"ambas. Las obsoletas clases y métodos de ministreaming están claramente \n"
|
|
"marcados como desechados en los Javadocs."
|
|
|
|
#: 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 ""
|
|
"\n"
|
|
"La librería ministreaming es una capa encima del núcleo de <a "
|
|
"href=\"%(i2cp)s\">I2CP</a> \n"
|
|
"que permite flujos (`streams`) confiables, ordenados y autentificados de "
|
|
"mensajes para operar a través de una capa de mensajes no confiable, \n"
|
|
"desordenada y no autentificada. Justo como la relación de TCP hacia IP,\n"
|
|
"esta funcionalidad streaming tiene un completo conjunto de compromisos \n"
|
|
"de equilibrios y optimizaciones disponibles, pero en lugar de embeber "
|
|
"esta funcionalidad en el código base de I2P, ha sido desgajado en su "
|
|
"propia \n"
|
|
"librería, tanto para mantener separadas las complejidades propias de TCP"
|
|
" \n"
|
|
"como para permitir implementaciones optimizadas alternativas."
|
|
|
|
#: 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 ""
|
|
"La librería ministream fue escrita por mihi como parte de su aplicación \n"
|
|
"<a href=\"%(i2ptunnel)s\">I2PTunnel</a> y después fue desgajada y \n"
|
|
"publicada bajo la licencia BSD. Se la llama librería \"mini\"streaming \n"
|
|
"porque hace algunas simplificaciones en la implementación, mientras una \n"
|
|
"librería streaming más robusta podría seguir siendo optimizada para "
|
|
"operar \n"
|
|
"sobre I2P. Los dos principales problemas con la librería ministreaming "
|
|
"son \n"
|
|
"su uso del tradicional protocolo TCP de establecimiento en dos fases, y "
|
|
"el \n"
|
|
"actual tamaño fijo de ventana (TCP) de 1. El problema del establecimiento"
|
|
" \n"
|
|
"es menor para streams de vida larga, pero para los de corta, tales como "
|
|
"las \n"
|
|
"peticiones HTTP rápidas, el impacto puede ser <a "
|
|
"href=\"%(minwww)s\">significativo</a>. Y en cuanto\n"
|
|
"al tamaño de ventana (TCP), la librería ministreaming no mantiene "
|
|
"identificador \n"
|
|
"u orden alguno (o no incluye ACK o SACK de nivel aplicación alguno) junto"
|
|
" \n"
|
|
"con los mensajes enviados. así que, de media, debe esperar el doble de \n"
|
|
"tiempo del que tarda en enviar un mensaje antes de enviar otro."
|
|
|
|
#: 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 ""
|
|
"Incluso con esos problemas, la librería ministreaming se comporta "
|
|
"bastante \n"
|
|
"bien en muchas situaciones, y su <a href=\"%(api)s\">API</a> es tanto \n"
|
|
"bastante simple como capaz de mantenerse invariante mientras se "
|
|
"introducen \n"
|
|
"diferentes implementaciones streaming. La librería se despliega en su "
|
|
"propio \n"
|
|
"`ministreaming.jar`. Los desarrolladores en Java a los que les gustaría "
|
|
"usarla \n"
|
|
"pueden acceder directamente a la API, mientras que los desarrolladores en"
|
|
" \n"
|
|
"otros lenguajes pueden usarla a través del soporte streaming de <a "
|
|
"href=\"%(samv3)s\">SAM</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/socks.html:4
|
|
msgid "SOCKS and SOCKS proxies"
|
|
msgstr "Proxies SOCKS y SOCKS"
|
|
|
|
#: 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 ""
|
|
"\n"
|
|
"El proxy SOCKS está funcionando desde la versión `0.7.1`. SOCKS 4/4a/5 \n"
|
|
"están soportados. Habilite SOCKS mediante la creación de un túnel de \n"
|
|
"cliente SOCKS en I2PTunnel. Ambos clientes-compartidos están soportados."
|
|
" \n"
|
|
"No hay proxy externo (`outproxy`) SOCKS, así que es de uso limitado."
|
|
|
|
#: 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 ""
|
|
"\n"
|
|
"Como lo dice en las <a href=\"%(faq)s#socks\">FAQ</a>: "
|
|
|
|
#: 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 ""
|
|
"Muchas aplicaciones filtran información sensible que podría identificarle"
|
|
" en \n"
|
|
"Internet. I2P sólo filtra la conexión de datos, pero si el programa que "
|
|
"usted \n"
|
|
"intenta ejecutar envía esta información como contenido, I2P no tiene "
|
|
"manera \n"
|
|
"de proteger su anonimato. Por ejemplo, algunas aplicaciones de correo \n"
|
|
"enviarán la dirección IP de la máquina sobre la que estén ejecutando el \n"
|
|
"servidor de correo. No hay forma de I2P filtre esto, por lo que usar I2P "
|
|
"para \n"
|
|
"socksificar ('socksify') aplicaciones existentes es posible, pero \n"
|
|
"extremadamente peligroso."
|
|
|
|
#: i2p2www/pages/site/docs/api/socks.html:25
|
|
msgid "And quoting from a 2005 email:"
|
|
msgstr "Y citando a un email de 2005: "
|
|
|
|
#: 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 ""
|
|
"... hay una razón por la que ambos, los humanos y otros, hemos construído"
|
|
" \n"
|
|
"y abandonado los proxys SOCKS. Rebotar el tráfico arbitrario es "
|
|
"simplemente \n"
|
|
"bastante inseguro, y nos corresponde a nosotros como desarrolladores \n"
|
|
"de software de anonimato y seguridad tener la seguridad de nuestros \n"
|
|
"usuarios finales entre nuestros pensamientos prioritarios."
|
|
|
|
#: 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 ""
|
|
"Esperar que simplemente podamos adherir un cliente arbitrario sobre I2P \n"
|
|
"sin auditar la seguridad y anonimato tanto de su comportamiento como de "
|
|
"sus protocolos expuestos, es ingenuo. Casi cualquier aplicación y "
|
|
"protocolo \n"
|
|
"viola el anonimato, a menos que fuera específicamente diseñado para lo \n"
|
|
"contrario, e incluso entonces la mayoría de aquellos también lo hace.\n"
|
|
"Esa es la realidad. Los usuarios finales están mejor servidos con "
|
|
"sistemas \n"
|
|
"diseñados para el anonimato y la seguridad. Modificar sistemas existentes"
|
|
" \n"
|
|
"para trabajar en entornos anónimos no es una cuestión banal, supone "
|
|
"varios órdenes de magnitud más de trabajo que simplemente usar las APIs"
|
|
" \n"
|
|
"existentes de I2P."
|
|
|
|
#: 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 ""
|
|
"El proxy SOCKS soporta los nombres de guías de direcciones (`adressbook')"
|
|
" \n"
|
|
"standard, pero no los destinos Base64. Los hashes Base32 deberían \n"
|
|
"funcionar desde la versión `0.7`. Sólo soporta conexiones salientes, es \n"
|
|
"decir, se erradicó el soporte para un I2PTunnel de cliente. Se forzó la "
|
|
"inclusión del soporte UDP, pero no funciona aún. Se forzó la inclusión de"
|
|
" la selección mediante número de puerto de proxy externo (`outproxy`)."
|
|
|
|
#: i2p2www/pages/site/docs/api/socks.html:57
|
|
#: i2p2www/pages/site/docs/how/tunnel-routing.html:281
|
|
msgid "See Also"
|
|
msgstr "Consulte también"
|
|
|
|
#: 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 ""
|
|
"Las notas para la <a href=\"%(meeting81)s\">Reunión 81</a> y la <a "
|
|
"href=\"%(meeting82)s\">Reunión 82</a> en marzo de 2004."
|
|
|
|
#: i2p2www/pages/site/docs/api/socks.html:69
|
|
msgid "If You Do Get Something Working"
|
|
msgstr "Si consigue que algo funcione"
|
|
|
|
#: 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 ""
|
|
"Por favor, permítanos saberlo. Y, por favor, proporcione advertencias \n"
|
|
"sustanciales acerca de los riesgos de los proxys SOCKS."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:3
|
|
#: i2p2www/pages/site/docs/spec/streaming.html:3
|
|
#: i2p2www/pages/site/docs/spec/updates.html:3
|
|
msgid "July 2013"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:8
|
|
#, python-format
|
|
msgid ""
|
|
"The streaming library is technically part of the \"application\" layer,\n"
|
|
"as it is not a core router function.\n"
|
|
"In practice, however, it provides a vital function for almost all\n"
|
|
"existing I2P applications, by providing a TCP-like\n"
|
|
"streams over I2P, and allowing existing apps to be easily ported to I2P.\n"
|
|
"The other end-to-end transport library for client communication is the\n"
|
|
"<a href=\"%(datagrams)s\">datagram library</a>."
|
|
msgstr ""
|
|
"La librería streaming técnicamente es parte de la capa de \"aplicación\","
|
|
" ya \n"
|
|
"que no es una función central del router. En la práctica, sin embargo, "
|
|
"proporciona una función vital para casi todas las aplicaciones I2P \n"
|
|
"existentes, proveyéndolas de flujos (`streams`) tipo-TCP sobre I2P, y "
|
|
"permitiendo que las aplicaciones existentes sean fácilmente portadas \n"
|
|
"a I2P. La otra librería de transporte extremo-a-extremo para la "
|
|
"comunicación \n"
|
|
"de clientes, es la <a href=\"%(datagrams)s\">librería datagram</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 librería streaming es una capa sobre el núcleo de la <a "
|
|
"href=\"%(i2cp)s\">API I2CP</a> que permite que flujos (`streams`) de "
|
|
"mensajes \n"
|
|
"confiables, ordenados y autentificados, operen a través de una capa de \n"
|
|
"mensaje no confiable, desordenada y no autentificada. Justo como la \n"
|
|
"relación TCP hacia IP, esta funcionalidad streaming tiene un conjunto \n"
|
|
"completo de compromisos de equilibrio y optimizaciones disponibles, pero"
|
|
" \n"
|
|
"en lugar de embeber esta funcionalidad junto al código base de I2P, ha "
|
|
"sido \n"
|
|
"desgajado en su propia librería para mantener las complejidades propias "
|
|
"de \n"
|
|
"TCP aparte, y para permitir implementaciones optimizadas alternativas."
|
|
|
|
#: 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 ""
|
|
"En consideración al relativamente alto coste de los mensajes, el "
|
|
"protocolo \n"
|
|
"de la librería streaming para programar y entregar esos mensajes ha \n"
|
|
"sido optimizado para permitir que los mensajes individuales pasen a \n"
|
|
"contener tanta información como esté disponible. Por ejemplo, una pequeña"
|
|
" \n"
|
|
"transacción HTTP proxificada a través de la librería streaming puede ser"
|
|
" \n"
|
|
"completada en un sólo viaje de ida y vuelta - los primeros mensajes \n"
|
|
"empaquetan un SYN, FIN, y la pequeña carga de la petición HTTP, y la \n"
|
|
"respuesta empaqueta el SYN, FIN, ACK, y la carga de la respuesta HTTP. \n"
|
|
"Aunque un ACK adicional debe ser transmitido para decirle al servidor "
|
|
"HTTP \n"
|
|
"que el SYN/FIN/ACK ha sido recibido, el proxy HTTP local a menudo puede \n"
|
|
"entregar la respuesta completa de forma inmediata al navegador. "
|
|
|
|
#: 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 ""
|
|
"La librería streaming presenta mucha semejanza a una abstracción de \n"
|
|
"TCP, con sus ventanas (de protocolo) deslizantes, algoritmos de control \n"
|
|
"de congestión (tanto de inicio lento como de elusión de congestión), y "
|
|
"comportamiento general del paquete (ACK, SYN, FIN, RST, cálculo RTO, "
|
|
"etc.)."
|
|
|
|
#: 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 librería streaming es \n"
|
|
"una librería robusta\n"
|
|
"que está optimizada para operar sobre I2P.\n"
|
|
"Tiene una instalación de fase-única, y \n"
|
|
"contiene una implementación de ventanización (protocolo) completa."
|
|
|
|
#: 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 ""
|
|
"La API de la librería streaming proporciona un paradigma de socket \n"
|
|
"standard a las aplicaciones Java. La API de nivel-inferior de <a "
|
|
"href=\"%(i2cp)s\">I2CP</a> \n"
|
|
"está completamente escondida, exceptuando que esas aplicaciones \n"
|
|
"pueden pasar <a href=\"%(i2cp)s#options\">parámetros I2CP</a> a través de"
|
|
" \n"
|
|
"la librería streaming, \n"
|
|
"para que sean interpretados por I2CP."
|
|
|
|
#: 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 ""
|
|
"La interfaz standard de la librería streaming es para que la aplicación "
|
|
"use el \n"
|
|
"<a href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a> para crear un <a "
|
|
"href=\"%(i2psktm)s\">I2PSocketManager</a>. \n"
|
|
"La aplicación pregunta entonces al administrador de socket por una \n"
|
|
"<a href=\"%(i2psess)s\">I2PSession</a>, que producirá una conexión al "
|
|
"router vía <a href=\"%(i2cp)s\">I2CP</a>. \n"
|
|
"La aplicación puede entonces establecer conexiones con un <a "
|
|
"href=\"%(i2pskt)s\">I2PSocket</a> \n"
|
|
"o recibir conexiones con un <a href=\"%(i2psskt)s\">I2PServerSocket</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:82
|
|
#, python-format
|
|
msgid "Here are the <a href=\"%(url)s\">full streaming library Javadocs</a>."
|
|
msgstr ""
|
|
"Aquí están los <a href=\"%(url)s\">Javadocs de la librería streaming "
|
|
"completa</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:86
|
|
msgid "For a good example of usage, see the i2psnark code."
|
|
msgstr "Para ver un buen ejemplo de uso, vea el código de i2psnark."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:91
|
|
msgid "Options and Defaults"
|
|
msgstr "Opciones y valores predeterminados"
|
|
|
|
#: 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 ""
|
|
"Las opciones y los actuales valores predeterminados están listados "
|
|
"debajo. \n"
|
|
"Las opciones diferencian mayúsculas/minúsculas y pueden ser \n"
|
|
"establecidas para todo el router, para un cliente concreto, o para un \n"
|
|
"socket individual en base a cada conexión. Muchos valores son ajustados \n"
|
|
"para el rendimiento HTTP sobre las condiciones típicas de I2P. Otras \n"
|
|
"aplicaciones tales como los servicios entre pares (`peer-to-peer`) son \n"
|
|
"fuertemente animadas a que los modifiquen como sea necesario, \n"
|
|
"configurando las opciones y pasándolas a través de la llamada a \n"
|
|
"<a "
|
|
"href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a>.createManager(_i2cpHost,"
|
|
" _i2cpPort, opts). \n"
|
|
"Los valores de los tiempos están en ms."
|
|
|
|
#: 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 ""
|
|
"Observe que las APIs de capa-superior, tales como <a "
|
|
"href=\"%(samv3)s\">SAM</a>, <a href=\"%(bob)s\">BOB</a>, e \n"
|
|
"<a href=\"%(i2ptunnel)s\">I2PTunnel</a>, pueden imponer sus propias "
|
|
"configuraciones \n"
|
|
"predeterminadas sobre estas configuraciones por defecto. Observe también"
|
|
" \n"
|
|
"que muchas opciones sólo se aplican a los servidores que están \n"
|
|
"escuchando conexiones entrantes."
|
|
|
|
#: 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 ""
|
|
"Desde la versión 0.9.1 la mayoría de las opciones, pero no todas, pueden "
|
|
"ser cambiadas en un administrador de socket activo o sesión. \n"
|
|
"Vea los Javadocs para más detalles."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:117
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:94
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:437
|
|
msgid "Option"
|
|
msgstr "Opción"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:117
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:98
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:441
|
|
msgid "Default"
|
|
msgstr "Valor predeterminado"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:117
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:267
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:282
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:58
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:203
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:257
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:335
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:429
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:537
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:615
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:717
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:30
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:89
|
|
msgid "Notes"
|
|
msgstr "Notas"
|
|
|
|
#: 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 ""
|
|
"Lista separada por comas - o espacios - de hashes de pares (`peers`) "
|
|
"Base64 usada bien como lista de acceso, o como lista negra."
|
|
|
|
#: 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 "Desde la versión %(release)s."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:125
|
|
msgid "Use the access list as a whitelist for incoming connections."
|
|
msgstr "Usar la lista de acceso como lista blanca para conexiones entrantes."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:131
|
|
msgid "Use the access list as a blacklist for incoming connections."
|
|
msgstr "Usar la lista de acceso como lista negra para conexiones entrantes."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:145
|
|
msgid "Whether to respond to incoming pings"
|
|
msgstr "Responder o no a los pings entrantes."
|
|
|
|
#: 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 ""
|
|
"Lista separada por comas - o espacios - de hashes de pares (`peers`) \n"
|
|
"Base64 que sera usada como lista negra para las conexiones entrantes a \n"
|
|
"TODOS los destinos en el contexto. Esta opción debe ser configurada en \n"
|
|
"las propiedades contextuales, NO en el argumento createManager() de las \n"
|
|
"opciones. Observe que establecer esto en el contexto del router no "
|
|
"afectará \n"
|
|
"a clientes fuera del router en una JVM y contexto aparte."
|
|
|
|
#: 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 ""
|
|
"Cuántos datos de transmisión (en bytes) serán aceptados que no hayan \n"
|
|
"sido emitidos aún."
|
|
|
|
#: 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 ""
|
|
"Cuando estamos evitando la congestión, aumentamos el tamaño de la \n"
|
|
"ventana (protocolo) al ritmo de <code>1/(tamañodeventana*factor)</code>."
|
|
" \n"
|
|
"En TCP standard, los tamaños de ventana se miden en bytes, mientras que \n"
|
|
"en I2P los tamaños de ventana se miden en mensajes. Un número más alto \n"
|
|
"significa un crecimiento más lento."
|
|
|
|
#: 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"
|
|
"<= 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 ""
|
|
"Cuánto esperar después de crear una instancia de nueva conexión antes de"
|
|
" \n"
|
|
"intentar conectar realmente. Si esto es <= 0 conecta inmediatamente \n"
|
|
"sin datos inciales. Si es mayor que 0, espera hasta que la salida del "
|
|
"flujo de \n"
|
|
"datos (`stream`) sea evacuada, se llene el buffer, o que pasen muchos \n"
|
|
"milisegundos, e incluye cualquier dato inicial con el SYN."
|
|
|
|
#: 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 ""
|
|
"Durante cuánto bloquear al conectar, en milisegundos. Valores negativos \n"
|
|
"significan indefinidamente. El valor predeterminado es 5 minutos."
|
|
|
|
#: 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 ""
|
|
"Desactivar o no las advertencias en los registros (`logs`), cuando se "
|
|
"rechaza \n"
|
|
"una conexión entrante debido a los límites de la conexión."
|
|
|
|
#: 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 ""
|
|
"Escuchar o no sólo el protocolo streaming. Configurando a verdadero \n"
|
|
"(`true`) prohibirá la comunicación con Destinos que usen una versión más"
|
|
" \n"
|
|
"temprana que la 0.7.1 (publicada en marzo de 2009). Configure a \n"
|
|
"verdadero si ejecuta múltiples protocolos sobre este Destino."
|
|
|
|
#: 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 ""
|
|
"(0=nada, 1=desconectar)\n"
|
|
"Qúe hacer durante un periodo de inactividad - no hacer nada, desconectar,"
|
|
" o enviar un ACK duplicado."
|
|
|
|
#: 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 ""
|
|
"El valor incial del campo de demora del reenvío en la cabecera del "
|
|
"paquete, \n"
|
|
"marca 1000. No está implementado completamente; vea debajo."
|
|
|
|
#: 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 "si no hay <a href=\"#sharing\">datos compatidos</a> disponibles"
|
|
|
|
#: 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 ""
|
|
"En TCP standard, los tamaños de las ventanas se miden en bytes, mientras"
|
|
" \n"
|
|
"que en I2P los tamaños de las ventanas se miden en mensajes."
|
|
|
|
#: 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 ""
|
|
"(0 o valores negativos significan ilimitado) \n"
|
|
"Esto es un límite total para la combinación entrante y saliente."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:247
|
|
msgid "Incoming connection limit (per peer; 0 means disabled)"
|
|
msgstr ""
|
|
"Límite de conexión entrante (por pares ('peer`); 0 significa "
|
|
"deshabilitado)"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:253
|
|
#: i2p2www/pages/site/docs/api/streaming.html:259
|
|
msgid "(per peer; 0 means disabled)"
|
|
msgstr "(por pares (`peer`); 0 significa deshabilitado)"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:265
|
|
msgid "The MTU in bytes."
|
|
msgstr "La MTU en bytes."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:269
|
|
msgid "Maximum number of retransmissions before failure."
|
|
msgstr "Número máximo de retransmisiones antes de fallo."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:273
|
|
msgid "Incoming connection limit (all peers; 0 means disabled)"
|
|
msgstr ""
|
|
"Límite de conexión entrante (todos los pares (`peers`); 0 significa "
|
|
"deshabilitado)"
|
|
|
|
#: 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 ""
|
|
"(todos los pares (`peers`); 0 significa deshabilitado)\n"
|
|
"Usar con precaución ya que exceder esto deshabilitará un servidor por un "
|
|
"largo periodo."
|
|
|
|
#: 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 ""
|
|
"(2=interactivo no soportado)\n"
|
|
"Esto actualmente no hace nada, pero configurándolo a un valor distino de "
|
|
"1 causará un error."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:300
|
|
msgid "How long to block on read, in milliseconds. Negative means indefinitely."
|
|
msgstr ""
|
|
"Durante cuánto bloquear al leer, en milisegundos. Valores negativos "
|
|
"significan indefinidamente."
|
|
|
|
#: 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 ""
|
|
"Cuando estemos en un inicio lento, elevaremos el tamaño de la ventana \n"
|
|
"(del protocolo) a un ritmo de 1/(factor). En TCP standard, los tamaños de"
|
|
" ventana se miden en bytes, mientras que en I2P los tamaños de ventana se"
|
|
" miden en mensajes. Un número más alto significa un crecimiento más "
|
|
"lento."
|
|
|
|
#: 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 ""
|
|
"Durante cuánto bloquear al escribir/limpiar, en milisegundos. Los valores"
|
|
" negativos significan indefinidamente."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:340
|
|
#: i2p2www/pages/site/docs/spec/streaming.html:10
|
|
msgid "Protocol Specification"
|
|
msgstr "Especificación del protocolo"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:342
|
|
msgid "See the Streaming Library Specification page."
|
|
msgstr "Vea la página Especificación de la librería streaming."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:346
|
|
msgid "Implementation Details"
|
|
msgstr "Detalles de la implementación"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:348
|
|
msgid "Setup"
|
|
msgstr "Configuración"
|
|
|
|
#: 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 ""
|
|
"El iniciador envía un paquete con el distintitivo SYNCHRONIZE "
|
|
"(sincronizar) \n"
|
|
"establecido. Este paquete puede contener también los datos iniciales. El "
|
|
"par (`peer`) responde con un paquete con el distintivo SYNCHRONIZE "
|
|
"establecido. Este paquete puede contener también los datos de respuesta "
|
|
"iniciales"
|
|
|
|
#: 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 ""
|
|
"El iniciador puede enviar paquetes de datos adicionales, hasta el tamaño "
|
|
"de \n"
|
|
"ventana inicial, antes de recibir la respuesta SYNCHRONIZE. Estos \n"
|
|
"paquetes también tendrán el campo `envíar Identificador de Stream` \n"
|
|
"establecido a 0. Los receptores deben guardar en el buffer los paquetes \n"
|
|
"recibidos sobre flujos (`streams`) desconocidos durante un periodo corto "
|
|
"de \n"
|
|
"tiempo, ya que pueden llegar estropeados, adelantándose al paquete \n"
|
|
"SYNCHRONIZE."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:361
|
|
msgid "MTU Selection and Negotiation"
|
|
msgstr "Selección y negociación MTU"
|
|
|
|
#: 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 ""
|
|
"El máximo tamaño de mensaje (también llamado MTU / MRU) es negociado \n"
|
|
"al menor valor soportado por los dos pares (`peers`). Como los mensajes \n"
|
|
"túnel están acotados a 1KB, una elección MTU pobre llevaría a una gran "
|
|
"cantidad de tráfico de control. La MTU está especificada por la opción "
|
|
"i2p.streaming.maxMessageSize. La MTU está especificada por la opción "
|
|
"i2p.streaming.maxMessageSize. La MTU actual por defecto de 1720 fue \n"
|
|
"elegida para encajar precisamente en dos mensajes túnel I2NP de 1K, \n"
|
|
"incluyendo el tráfico de control para un caso típico."
|
|
|
|
#: 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 ""
|
|
"El primer mensaje en una conexión incluye un Destino de 387 bytes "
|
|
"(típico) \n"
|
|
"añadido por la capa streaming, y usualmente un LeaseSet (todos los leases"
|
|
" o túneles autorizados a recibir conexiones para un destino concreto) de "
|
|
"898 \n"
|
|
"bytes (típico), y claves de Sesión, empaquetadas en un mensaje Ajo \n"
|
|
"(`Garlic`) por el router (El LeaseSet y las Claves de Sesión no serán \n"
|
|
"empaquetadas si se estableció previamente una Sesión ElGamal). Por lo \n"
|
|
"tanto, la meta de encajar una petición HTTP completa en un sólo \n"
|
|
"mensaje I2NP (I2P Network Protocol) de 1KB no siempre es alcanzable. Sin"
|
|
" \n"
|
|
"embargo, la elección de MTU, junto con una cuidadosa implementación de \n"
|
|
"fragmentación y estrategias de elaboración de lotes en el procesador del"
|
|
" \n"
|
|
"túnel de la pasarela de salida (`gateway`), son factores importantes en "
|
|
"el \n"
|
|
"ancho de banda, latencia, confiabilidad y eficiencia de la red, "
|
|
"especialmente \n"
|
|
"para conexión de vida-larga."
|
|
|
|
#: 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 ""
|
|
"La integridad de los datos está asegurada por el checksum CRC-32 de gzip"
|
|
" \n"
|
|
"implementado en <a href=\"%(i2cp)s#format\">la capa I2CP</a>. No hay un "
|
|
"campo checksum en el protocolo streaming."
|
|
|
|
#: 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 ""
|
|
"Cada paquete es enviado a través de I2P como un solo mensaje (o como un "
|
|
"clavo en un <a href=\"%(garlicrouting)s\">mensaje Garlic</a>). La "
|
|
"encapsulación de los mensajes es implementada en el <a "
|
|
"href=\"%(i2cp)s\">I2CP</a> subyacente, en el <a "
|
|
"href=\"%(i2np)s\">I2NP</a>, y en las capas de los <a "
|
|
"href=\"%(tunnelmessage)s\">túneles de mensajes</a>. No hay mecanismo "
|
|
"delimitador o campo de tamaño del payload en el protocolo de streaming."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:400
|
|
msgid "Windowing"
|
|
msgstr "Ventanización"
|
|
|
|
#: 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 ""
|
|
"La librería streaming utiliza fases standard de inicio-lento (crecimiento"
|
|
" \n"
|
|
"exponencial de la ventana (del protocolo)) y de elusión de congestión \n"
|
|
"(crecimiento lineal de la ventana), con retroceso exponencial. La \n"
|
|
"ventanización y los acuses de recibo ('acknowledments') cuentan paquetes,"
|
|
" no bytes."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:408
|
|
msgid "Close"
|
|
msgstr "Cerrar"
|
|
|
|
#: 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 ""
|
|
"Cualquier paquete, incluyendo uno con el distintivo SYNCHRONIZE "
|
|
"establecido, puede haber enviado también el distintivo CLOSE. La \n"
|
|
"conexión no está cerrada hasta que el par (`peer`) responde con el \n"
|
|
"distintivo CLOSE. Los paquetes CLOSE también pueden contener datos."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:416
|
|
msgid "Control Block Sharing"
|
|
msgstr "Compartición del bloque de control"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:417
|
|
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:438
|
|
msgid "Other Parameters"
|
|
msgstr "Otros parámetros"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:439
|
|
msgid ""
|
|
"The following parameters are hardcoded, but may be of interest for "
|
|
"analysis:"
|
|
msgstr ""
|
|
"Los siguientes parámetros son internos, pero pueden ser de interés para "
|
|
"el análisis:"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:458
|
|
#: i2p2www/pages/site/docs/how/network-database.html:822
|
|
msgid "History"
|
|
msgstr "Historia"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:459
|
|
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 ""
|
|
"La librería streaming ha crecido orgánicamente para I2P - primero mihi \n"
|
|
"implementó la \"librería mini streaming\" como parte de I2PTunnel, que \n"
|
|
"estaba limitada a un tamaño de ventana de 1 mensaje (requiriendo un ACK \n"
|
|
"antes de enviar el siguiente), y entonces fue desgajado en una interfaz \n"
|
|
"streaming genérica (a semejanza de los sockets TCP) y la implementación \n"
|
|
"streaming completa fue desplegada con un protocolo de ventanas "
|
|
"deslizantes y optimizaciones para tener en cuenta el alto valor del "
|
|
"producto \n"
|
|
"(ancho-de-banda x demora). Los flujos (`streams`) individuales pueden \n"
|
|
"ajustar su tamaño máximo de paquete y otras opciones. El tamaño \n"
|
|
"predeterminado del mensaje se selecciona para encajar de forma precisa \n"
|
|
"en dos mensajes túnel I2NP (I2P Network Protocol) de 1KB, y es un \n"
|
|
"compromiso de equilibrio razonable entre el coste en ancho de banda de \n"
|
|
"retransmitir mensajes perdidos, y la latencia y tráfico de control de \n"
|
|
"múltiples mensajes."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:473
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:331
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:242
|
|
#: i2p2www/pages/site/docs/how/network-database.html:827
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:265
|
|
#: i2p2www/pages/site/docs/how/tunnel-routing.html:255
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:646
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:227
|
|
#: i2p2www/pages/site/docs/spec/updates.html:222
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:443
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:502
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:503
|
|
msgid "Future Work"
|
|
msgstr "Trabajo futuro"
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:474
|
|
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 ""
|
|
"El comportamiento de la librería streaming tiene un profundo impacto "
|
|
"sobre\n"
|
|
"el rendimiento en el nivel-aplicación, y como tal, es un área importante "
|
|
"para análisis detallados."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:480
|
|
msgid "Additional tuning of the streaming lib parameters may be necessary."
|
|
msgstr ""
|
|
"Podrían ser necesarios ajustes adicionales de los parámetros de librería "
|
|
"streaming."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:483
|
|
#, 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 ""
|
|
"Otro área de investigación es la interacción de la librería streaming con"
|
|
" las \n"
|
|
"capas de transporte NTCP (NIO TCP) y SSU (UDP Seguro Semiconfiable). \n"
|
|
"Para mayor detale Vea la <a href=\"%(ntcpdisc)s\">página de discusión "
|
|
"sobre NTCP</a>."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:488
|
|
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 ""
|
|
"La interacción de los algoritmos de enrutado con la librería streaming "
|
|
"afecta \n"
|
|
"fuertemente al rendimiento. En particular, la distribución aleatoria de \n"
|
|
"mensajes a múltiples túneles entre los existentes, lleva a un alto grado "
|
|
"de \n"
|
|
"entregas estropeadas que resultan en tamaños de ventana más pequeños de "
|
|
"lo que serían en otro caso. Actualmente el router enruta mensajes \n"
|
|
"para un único par desde/hacia destino a través de un conjunto consistente"
|
|
" \n"
|
|
"de túneles, hasta la expiración del túnel o un fallo en la entrega. El "
|
|
"fallo del \n"
|
|
"router y los algoritmos de selección del túnel deben ser revisados en "
|
|
"busca \n"
|
|
"de posibles mejoras."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:498
|
|
msgid "The data in the first SYN packet may exceed the receiver's MTU."
|
|
msgstr ""
|
|
"Los datos en el primer paquete SYN (sincronizar) pueden exceder la MTU "
|
|
"(Unidad Máxima de Transporte) del receptor."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:501
|
|
msgid "The DELAY_REQUESTED field could be used more."
|
|
msgstr "El campo DELAY_REQUESTED (demora requerida) podría ser usado más."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:504
|
|
msgid ""
|
|
"Duplicate initial SYNCHRONIZE packets on short-lived streams may not be "
|
|
"recognized and removed."
|
|
msgstr ""
|
|
"Los paquetes iniciales SYNCHRONIZE duplicados sobre streams de \n"
|
|
"vida-corta pueden ser no reconocidos y eliminados."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:507
|
|
msgid "Don't send the MTU in a retransmission."
|
|
msgstr "No envía la MTU en una retransmisión."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:510
|
|
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 ""
|
|
"Los datos se envían al recorrido a menos que la ventana de salida esté \n"
|
|
"llena (es decir sin-Nagle o TCP_NODELAY).\n"
|
|
"Probablemente debe haber una opción de configuración para esto."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:515
|
|
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 ""
|
|
"zzz ha añadido código de depuración a la librería streaming para "
|
|
"registrar \n"
|
|
"(`log`) paquetes en un formato compatible-wireshark (pcap); utilice esto "
|
|
"para \n"
|
|
"analizar el rendimiento con mayor detalle. El formato puede requerir "
|
|
"mejoras \n"
|
|
"para mapear más parámetros de librería streaming en campos TCP."
|
|
|
|
#: i2p2www/pages/site/docs/api/streaming.html:520
|
|
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 ""
|
|
"Hay propuestas para reemplazar la librería streaming con TCP standard (o"
|
|
" \n"
|
|
"quizá con una capa vacía junto con sockets crudos (`raw`)). \n"
|
|
"Desafortunadamente esto sería incompatible con la librería streaming pero"
|
|
" \n"
|
|
"sería bueno para comparar el rendimiento de los dos."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:3
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:3
|
|
msgid "September 2012"
|
|
msgstr "Septiembre de 2012"
|
|
|
|
#: 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 ""
|
|
"Hay varios clientes bittorrent y trackers sobre I2P. Como el "
|
|
"direccionamiento \n"
|
|
"de I2P usa un Destino en lugar de IP y puerto, los cambios que se "
|
|
"requieren \n"
|
|
"en los softwares del tracker y del cliente para operar sobre I2P son \n"
|
|
"menores. Estos cambios se especifican debajo. Observe con cuidado las \n"
|
|
"directrices para compatibilidad con anteriores clientes y trackers I2P."
|
|
|
|
#: 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 ""
|
|
"Esta página especifica detalles del protocolo comunes a todos los "
|
|
"clientes \n"
|
|
"y trackers. Los clientes y trackers específicos pueden implementar otras"
|
|
" \n"
|
|
"características únicas o protocolos."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:20
|
|
msgid "We welcome additional ports of client and tracker software to I2P."
|
|
msgstr ""
|
|
"Son bienvenidos puertos adicionales de software de cliente y tracker para"
|
|
" I2P."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:26
|
|
msgid "Announces"
|
|
msgstr "Anuncios"
|
|
|
|
#: 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 ""
|
|
"Los clientes generalmente incluyen un parametro falso port=6881 en el \n"
|
|
"anuncio, por compatibilidad con anteriores trackers. Los trackers pueden"
|
|
" \n"
|
|
"ignorar el parámetro port (puerto), y no deberían necesitarlo."
|
|
|
|
#: 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 "Otros parámetros son los mismos que en el bittorrent standard."
|
|
|
|
#: 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 ""
|
|
"Aunque todos los Destinos actuales para clientes son exactamente de \n"
|
|
"387 bytes, un tracker no debería presumir que siempre será así. Un valor"
|
|
" \n"
|
|
"máximo razonable a asumir, por ahora, es 475 bytes. Como el tracker debe"
|
|
" \n"
|
|
"decodificar la Base64 para entregar respuestas compactas (vea debajo), el"
|
|
" \n"
|
|
"tracker probablemente debe decodificar y rechazar las Base64 defectuosas "
|
|
"cuando se anuncie."
|
|
|
|
#: 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 ""
|
|
"La respuesta tipo predeterminada es no-compacta. Los clientes pueden \n"
|
|
"solicitar una respuesta compacta con el parámetro compact=1. Un tracker\n"
|
|
"podría, pero no es un requisito, devolver una respuesta compacta cuando\n"
|
|
"se le solicite."
|
|
|
|
#: 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 ""
|
|
"A los desarrolladores de nuevos clientes I2P se les anima fuertemente a \n"
|
|
"implementar anuncios sobre su propio túnel en lugar de sobre el proxy del"
|
|
" \n"
|
|
"cliente HTTP en el puerto 4444. Hacerlo así es tanto más eficiente como a"
|
|
" su vez permite al tracker aplicar destinos (vea debajo)."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:66
|
|
msgid ""
|
|
"There are no known I2P clients or trackers that currently support UDP "
|
|
"announce/responses."
|
|
msgstr ""
|
|
"No hay clientes o trackers I2P conocidos que actualmente soporten "
|
|
"anuncios/respuestas UDP."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:71
|
|
msgid "Non-Compact Tracker Responses"
|
|
msgstr "Respuestas de tracker no-compactas"
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:72
|
|
msgid ""
|
|
"The non-compact response is just as in standard bittorrent, with an I2P "
|
|
"\"ip\"."
|
|
msgstr ""
|
|
"La respuesta no-compacta es como la del bittorrent standard, con una "
|
|
"\"ip\" I2P."
|
|
|
|
#: 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 ""
|
|
"Los trackers generalmente incluyen un clave de puerto falsa, o usan el "
|
|
"puerto del anuncio, por compatibilidad con anteriores clientes. Los \n"
|
|
"clientes deben ignorar el parámetro port (puerto), y no deben solicitarlo."
|
|
|
|
#: 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 ""
|
|
"El valor de la clave ip es la base 64 del <a "
|
|
"href=\"%(commonstructures)s#struct_Destination\">Destino</a> del cliente,"
|
|
" como se \n"
|
|
"describe arriba. Los trackers generalmente añaden \".i2p\" al final del "
|
|
"Destino \n"
|
|
"Base 64 si no estaba en el ip del anuncio, por compatibilidad con "
|
|
"anteriores \n"
|
|
"clientes. Los clientes no deben solicitar un sufijo \".i2p\" en las "
|
|
"respuestas."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:88
|
|
msgid "Other response keys and values are the same as in standard bittorrent."
|
|
msgstr ""
|
|
"Otras claves y valores de respuesta son los mismos que en el bittorrent "
|
|
"standard."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:94
|
|
msgid "Compact Tracker Responses"
|
|
msgstr "Respuestas de tracker compactas"
|
|
|
|
#: 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 ""
|
|
"En la respuesta compacta, el valor de la clave de diccionario de los "
|
|
"\"peers\" (pares) es una única cadena de bytes, cuya longitud es un "
|
|
"múltiplo de 32 \n"
|
|
"bytes. Esta cadena contiene los <a "
|
|
"href=\"%(commonstructures)s#type_Hash\">Hashes SHA-256 de 32-bytes</a> \n"
|
|
"concatenados del binario <a "
|
|
"href=\"%(commonstructures)s#struct_Destination\">Destinos</a> de los "
|
|
"pares. Este \n"
|
|
"`hash` (identificador único) debe calcularse por el tracker, a menos que "
|
|
"use \n"
|
|
"aplicación en destino (vea debajo), en cuyo caso el identificador "
|
|
"(`hash`) \n"
|
|
"entregado en las cabeceras HTTP X-I2P-DestHash o X-I2P-DestB32 puede ser "
|
|
"convertido a binario y almacenado. La clave de los pares (`peers`) \n"
|
|
"puede estar ausente, o el valor de los pares puede tener longitud-cero."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:109
|
|
msgid ""
|
|
"While compact response support is optional for both clients and trackers,"
|
|
" it is highly\n"
|
|
"recommended as it reduces the nominal response size by over 90%."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:116
|
|
msgid "Destination Enforcement"
|
|
msgstr "Aplicación en destino"
|
|
|
|
#: 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 ""
|
|
"Como varios clientes usan el proxy HTTP en lugar de sus propios túneles \n"
|
|
"para los anuncios, la aplicación de destino (en el tracker) prevendrá su "
|
|
"uso \n"
|
|
"por aquellos clientes a menos que, o hasta que, aquellos clientes se \n"
|
|
"reconviertan para anunciarse sobre sus propios túneles. "
|
|
|
|
#: 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 ""
|
|
"Desafortunadamente, al crecer la red, también lo hará la cantidad de \n"
|
|
"maliciosidad, así que esperamos que en su momento todos los trackers \n"
|
|
"apliquen los destinos. Ambos, desarrolladores de trackers y clientes "
|
|
"deben \n"
|
|
"anticiparlo."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:143
|
|
msgid "Announce Host Names"
|
|
msgstr "Nombres de Servidor de Anuncio"
|
|
|
|
#: 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 ""
|
|
"Los nombres de servidor URL de anuncio en los archivos torrent siguen\n"
|
|
"generalmente los <a href=\"%(naming)s\">standares de nomenclatura "
|
|
"I2P</a>. Además \n"
|
|
"los nombres de servidor de los libros de direcciones y los nombre de "
|
|
"servidor Base 32 \".b32.i2p\", el Destino Base 65 completo (con [¿o sin?]"
|
|
" \n"
|
|
"sufijo \".i2p\"] deben ser soportados. Los trackers no-abiertos deben \n"
|
|
"reconocer sus propios nombres de servidor en cualquiera de estos formatos."
|
|
|
|
#: 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 ""
|
|
"Para preservar el anonimato, los clientes por lo general deben ignorar \n"
|
|
"anuncios de URLs no-I2P en los ficheros torrent."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:159
|
|
msgid "Client Connections"
|
|
msgstr "Conexiones de cliente"
|
|
|
|
#: 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 ""
|
|
"Las conexiones Cliente-a-cliente usan el protocolo standard sobre TCP. No"
|
|
" hay clientes I2P conocidos que soporten actualmente comunicación uTP \n"
|
|
"(utorrent Transpor Protocol)."
|
|
|
|
#: 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 ""
|
|
"I2P usa <a href=\"%(commonstructures)s#struct_Destination\">Destinos</a> "
|
|
"de 387+ bytes para direcciones, como se explicó arriba."
|
|
|
|
#: 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 ""
|
|
"Si el cliente tiene sólo el identificador (`hash`) del destino (tal como "
|
|
"desde \n"
|
|
"una respuesta compacta o un PEX (Intercambiador de Pares)), debe realizar"
|
|
" \n"
|
|
"una búsqueda codificándolo con Base 32, añadiendo el sufijo \".b32.i2p\","
|
|
" y \n"
|
|
"consultando en el Servicio de Nombres, que devolverá el Destino completo"
|
|
" \n"
|
|
"si está disponible."
|
|
|
|
#: 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 ""
|
|
"Si el cliente tiene el Destino completo de un par (`peer`) que recibió en"
|
|
" una \n"
|
|
"respuesta no-compacta, debe usarlo en el establecimiento de la conexión."
|
|
" \n"
|
|
"No convierta un Destino de vuelta a un identificador (`hash`) Base 32, "
|
|
"esto \n"
|
|
"es bastante ineficiente."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:183
|
|
msgid "Cross-Network Prevention"
|
|
msgstr "Prevención de redes-cruzadas."
|
|
|
|
#: 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 ""
|
|
"Para preservar el anonimato, los clientes I2P bittorrent por lo general "
|
|
"no soportan anuncios no-I2P, o conexiones de pares (`peers`). Los proxys"
|
|
" \n"
|
|
"externos (`outproxies`) HTTP de I2P con frecuencia bloquean anuncios. No"
|
|
" \n"
|
|
"hay proxys externos SOCKS conocidos que soporten tráfico bittorrent."
|
|
|
|
#: 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 ""
|
|
"Para prevenir el uso por cliente no-I2P a través de un proxy interno HTTP"
|
|
" \n"
|
|
"(`inproxy`), los trackers I2P a menudo bloquean accesoos o anuncios que \n"
|
|
"contengan una cabecera HTTP X-Forwarded-For. Los trackers deben \n"
|
|
"rechazar anuncios de red standard con IPs IPv4 o IPv6, y no entregarlos \n"
|
|
"en las respuestas."
|
|
|
|
#: 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 ""
|
|
"El PEX (Intercambiador de Pares) I2P está basado en ut_pex (utorrent \n"
|
|
"PEX). Como no parece haber una especificación ut_pex formal disponible, \n"
|
|
"puede ser necesario revisar el código fuente de libtorrent para dotarlo "
|
|
"de \n"
|
|
"asistencia. Es un mensaje de extensión, identificado como \"i2p_pex\" en"
|
|
" \n"
|
|
"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">en la extensión "
|
|
"de encuentro (`handshake`)</a>. Contiene un diccionario b-codificado \n"
|
|
"(`bencoded`) con hasta 3 claves, \"added\" (añadido), \"added.f\", y "
|
|
"\"dropped\" \n"
|
|
"(descartado). Los valores `added` y `dropped` son cada uno una única \n"
|
|
"cadena de bytes, cuyo tamaño es un múltiplo de 32 bytes. Estas cadenas \n"
|
|
"de bytes son los Hashes SHA-256 concatenados del binario <a "
|
|
"href=\"%(commonstructures)s#struct_Destination\">Destinos</a> \n"
|
|
"de los pares (`peers`). Este es el mismo formato que el de los valores de"
|
|
" \n"
|
|
"diccionario de los pares en el formato de respuesta compacta de I2P \n"
|
|
"especificado arriba. Si está presente, el valor de added.f es el mismo "
|
|
"que en\n"
|
|
"ut_pex."
|
|
|
|
#: 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 ""
|
|
"El soporte DHT (tabla de hash dinámica) está incluído en el cliente "
|
|
"i2psnark \n"
|
|
"desde la versión 0.9.2. Las diferencias preliminares con <a "
|
|
"href=\"http://www.bittorrent.org/beps/bep_0005.html\">BEP 5</a> están \n"
|
|
"descritas debajo, y están sujetas a cambios. Contacte con los \n"
|
|
"desarrolladores de I2P si quiere desarrollar un cliente con soporte DHT."
|
|
|
|
#: 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 ""
|
|
"Al contario que DHT (tabla de hash dinámica), I2P DHT no usa bit alguno "
|
|
"en \n"
|
|
"las opciones de encuentro (`handshake`), o en el mensaje PORT (puerto). "
|
|
"Se anuncia con con un mensaje de extensión, identificados como "
|
|
"\"i2p_dht\" \n"
|
|
"en <a href=\"http://www.bittorrent.org/beps/bep_0010.html\">el encuentro "
|
|
"de extensión</a>. Contiene un diccionario b-codificado \n"
|
|
"(`bencoded`) con dos claves, \"port\" y \"rport\", ambos enteros."
|
|
|
|
#: 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 ""
|
|
"Para recibir datagramas respondibles (firmados) se usa el puerto UDP "
|
|
"(datagrama) listado en la información del nodo compacto. Este se usa para"
|
|
" \n"
|
|
"consultas, excepto para anuncios. Le llamamos el \"query port\" (puerto "
|
|
"de \n"
|
|
"consulta). Es el valor de \"port\" (puerto) del mensaje de extensión. Las"
|
|
" \n"
|
|
"consultas usan el protocolo I2CP (Protocolo de Cliente I2P) número 17."
|
|
|
|
#: 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 ""
|
|
"Además de ese puerto UDP, usamos un segundo puerto de datagrama igual \n"
|
|
"al puerto de consulta + 1. Esto se usa para recibir datagramas no "
|
|
"firmados \n"
|
|
"(raw (crudos)) para las respuestas, errores y anuncios. Este puerto \n"
|
|
"proporciona una eficiencia incrementada puesto que sus respuestas \n"
|
|
"contienen las credenciales (`tokens`) enviadas en la consulta, y no \n"
|
|
"necesitan ser firmadas. Llamamos a esto el \"response port\" (puerto de \n"
|
|
"respuesta). Las respuestas y los anuncios usan el protocolo I2CP número "
|
|
"18. "
|
|
|
|
#: 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 ""
|
|
"La información compacta del par (`peer`) son 32 bytes (un identificador \n"
|
|
"(`hash`) SHA256 de 32 bytes) en lugar de 4 bytes de IP + 2 bytes de \n"
|
|
"puerto. No hay puerto de peer. En una respuesta, la clave \"values\" \n"
|
|
"(valores) es una lista de cadenas, conteniendo cada una la información \n"
|
|
"compacta de un único peer."
|
|
|
|
#: 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 ""
|
|
"La información de nodo compacto es de 54 bytes (20 bytes de hash + 32 \n"
|
|
"bytes de hash SHA256 + 2 bytes de puerto) en lugar de 20 bytes de hash \n"
|
|
"SHA1 + 4 bytes de IP + 2 bytes de puerto. En una respuesta, la clave \n"
|
|
"\"nodes\" (nodos) es una única cadena de bytes con la información \n"
|
|
"concatenada de nodo compacto."
|
|
|
|
#: 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 ""
|
|
"Requerimiento de identificador (`ID`) de nodo seguro: Para hacer varios \n"
|
|
"ataques DHT (tabla de hash distribuída) los 4 primeros bytes del \n"
|
|
"identificador (`ID`) de nodo deben coincidir con los 4 bytes del "
|
|
"identificador \n"
|
|
"(`hash`) del destino, y los siguientes dos bytes del identificador (`ID`)"
|
|
" de \n"
|
|
"nodo deben coincidir con los siguientes dos bytes del resultado del\n"
|
|
"`OR`eado-exclusivo de el identificador (`hash`) del destino con el "
|
|
"puerto. "
|
|
|
|
#: 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 ""
|
|
"En un fichero torrent, la clave de diccionario de los \"nodes\" (nodos) "
|
|
"torrent \n"
|
|
"sin tracker es TBD. Podría ser una lista de cadenas de bytes de 32 bytes"
|
|
" \n"
|
|
"(hashes SHA256) en lugar de una lista de listas conteniendo un cadena de"
|
|
" \n"
|
|
"servidor y un entero de puerto.\n"
|
|
"Alternativas: Una única cadena de bytes con hashes concatenados, o una \n"
|
|
"sola lista de de cadenas."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:285
|
|
#: i2p2www/pages/site/docs/how/intro.html:187
|
|
msgid "Additional Information"
|
|
msgstr "Información adicional"
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:287
|
|
#, python-format
|
|
msgid ""
|
|
"I2P bittorrent standards are generally discussed on <a "
|
|
"href=\"http://%(zzz)s/\">%(zzz)s</a>."
|
|
msgstr ""
|
|
"Los standards bittorrent I2P discutidos generalmente en <a "
|
|
"href=\"http://%(zzz)s/\">%(zzz)s</a>."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:290
|
|
#, python-format
|
|
msgid ""
|
|
"A chart of current tracker software capabilities is <a "
|
|
"href=\"http://%(zzz)s/files/trackers.html\">also available there</a>."
|
|
msgstr ""
|
|
"Una gráfica con las capacidades del actual software de tracker también "
|
|
"está <a href=\"http://%(zzz)s/files/trackers.html\">disponible allí</a>."
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:293
|
|
#, python-format
|
|
msgid ""
|
|
"The\n"
|
|
"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P bittorrent FAQ</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/applications/bittorrent.html:297
|
|
#, python-format
|
|
msgid "<a href=\"http://%(zzz)s/topics/812\">DHT on I2P discussion</a>"
|
|
msgstr "<a href=\"http://%(zzz)s/topics/812\">Discusión DHT sobre I2P</a>"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:2
|
|
#: i2p2www/pages/site/docs/applications/supported.html:5
|
|
msgid "Supported Applications"
|
|
msgstr "Aplicaciones soportadas"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:9
|
|
#: i2p2www/pages/site/docs/applications/supported.html:186
|
|
msgid "Blogging, Forums, and Wikis"
|
|
msgstr "Blogs, Foros y Wikis"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:11
|
|
#: i2p2www/pages/site/docs/applications/supported.html:232
|
|
msgid "Decentralized File Storage"
|
|
msgstr "Almacenamiento de archivos descentralizado"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:14
|
|
#: i2p2www/pages/site/docs/applications/supported.html:244
|
|
msgid "Development Tools"
|
|
msgstr "Herramientas de desarrollo"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:17
|
|
#: i2p2www/pages/site/docs/applications/supported.html:246
|
|
msgid "Version control"
|
|
msgstr "Control de versiones"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:21
|
|
#: i2p2www/pages/site/docs/applications/supported.html:265
|
|
msgid "Domain Naming"
|
|
msgstr "Nombres de Dominios"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:23
|
|
#: i2p2www/pages/site/docs/applications/supported.html:283
|
|
msgid "Email"
|
|
msgstr "Correo-e"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:26
|
|
#: i2p2www/pages/site/docs/applications/supported.html:328
|
|
msgid "File Sharing"
|
|
msgstr "Compartición de archivos"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:29
|
|
#: i2p2www/pages/site/docs/applications/supported.html:330
|
|
msgid "BitTorrent clients"
|
|
msgstr "Clientes de BitTorrent"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:31
|
|
#: i2p2www/pages/site/docs/applications/supported.html:372
|
|
msgid "BitTorrent trackers and indexers"
|
|
msgstr "Trackers e indexadores de BitTorrent"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:40
|
|
#: i2p2www/pages/site/docs/applications/supported.html:439
|
|
msgid "Network Administration"
|
|
msgstr "Administración de red"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:43
|
|
#: i2p2www/pages/site/docs/applications/supported.html:441
|
|
msgid "General-purpose socket utilities"
|
|
msgstr "Utilidades para sockets de uso general"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:50
|
|
#: i2p2www/pages/site/docs/applications/supported.html:482
|
|
msgid "Real-time Chat"
|
|
msgstr "Chat en tiempo real"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:53
|
|
#: i2p2www/pages/site/docs/applications/supported.html:484
|
|
msgid "Instant messaging clients"
|
|
msgstr "Clientes de mensajería instatánea"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:55
|
|
#: i2p2www/pages/site/docs/applications/supported.html:494
|
|
msgid "IRC clients"
|
|
msgstr "Clientes iRC"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:57
|
|
#: i2p2www/pages/site/docs/applications/supported.html:545
|
|
msgid "IRC servers"
|
|
msgstr "Servidores iRC"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:62
|
|
#: i2p2www/pages/site/docs/applications/supported.html:561
|
|
msgid "Web Browsing"
|
|
msgstr "Navegación web"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:65
|
|
#: i2p2www/pages/site/docs/applications/supported.html:563
|
|
msgid "Anonymous websites"
|
|
msgstr "Webs anónimas"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:67
|
|
#: i2p2www/pages/site/docs/applications/supported.html:612
|
|
msgid "Proxy software"
|
|
msgstr "Aplicaciones de Proxy"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:69
|
|
#: i2p2www/pages/site/docs/applications/supported.html:637
|
|
msgid "Inproxies"
|
|
msgstr "Proxies de entrada"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:71
|
|
#: i2p2www/pages/site/docs/applications/supported.html:669
|
|
msgid "Outproxies"
|
|
msgstr "Proxies de salida"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:76
|
|
#: i2p2www/pages/site/docs/applications/supported.html:683
|
|
msgid "Website Hosting"
|
|
msgstr "Alojamiento web"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:79
|
|
#: i2p2www/pages/site/docs/applications/supported.html:698
|
|
msgid "Web servers"
|
|
msgstr "Servidores 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=\"http://%(trac)s/report/1/\">Trac</a>, and be sure to select the"
|
|
"\n"
|
|
"“www” component in the submission form."
|
|
msgstr ""
|
|
"Esto es un intento de crear una lista de aplicaciones usadas en I2P. Si "
|
|
"conoces alguna que falte en la lista, por favor cree un ticket en el <a "
|
|
"href=\"http://%(trac)s/report/1/\">Trac</a>, y asegúrese de seleccionar "
|
|
"el componente 'www' en el formulario."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:92
|
|
msgid ""
|
|
"\n"
|
|
"Supported applications are tagged with one or more of the following:"
|
|
msgstr ""
|
|
"\n"
|
|
"Las aplicaciones soportadas tienen una de las siguientes etiquetas:"
|
|
|
|
#: 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:695
|
|
msgid "bundled"
|
|
msgstr "incluida"
|
|
|
|
#: 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>Aplicación incluida</em> — I2P vienen con algunas aplicaciones "
|
|
"incluidas oficialmente que permiten a los nuevos usuarios usar "
|
|
"inmediatamente algunas de las capacidades mas útiles 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 "pluguin"
|
|
|
|
#: 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> Pluguins de terceras partes</em> — el sistema de pluguins de I2P "
|
|
"provee el despliegue de aplicaciones para I2P y permite una integración "
|
|
"más estrecha con el ruter. Los pluguins son [revisados por la "
|
|
"comunidad](<a href=\"http://%(plugins)s\">http://%(plugins)s</a>) para "
|
|
"identificar problemas de seguridad y anonimato."
|
|
|
|
#: 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:695
|
|
#: i2p2www/pages/site/docs/applications/supported.html:710
|
|
#: i2p2www/pages/site/docs/applications/supported.html:716
|
|
#: i2p2www/pages/site/docs/applications/supported.html:722
|
|
#: i2p2www/pages/site/docs/applications/supported.html:728
|
|
msgid "standalone"
|
|
msgstr "independiente"
|
|
|
|
#: 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 "independiente/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>Aplicaciones independientes de terceras partes</em> — Muchas de las "
|
|
"aplicaciones de red sólo necesitan una configuración cuidadosa para poder"
|
|
" ser usadas anónimamente sobre I2P. Estas están etiquetadas como "
|
|
"<em>independientes</em>. Algunas aplicaciones etiquetadas como "
|
|
"<em>independientes/mod</em>, requieren der parcheadas para funcionar bien"
|
|
" sobre I2P, o para evitar la revelación no intencionada de información "
|
|
"tal como el hostname o la IP externa."
|
|
|
|
#: 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:665
|
|
#: i2p2www/pages/site/docs/applications/supported.html:679
|
|
msgid "service"
|
|
msgstr "servicio"
|
|
|
|
#: 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>Servicios esenciales de red de terceras partes</em> — Servicios que "
|
|
"estando en I2P son análogos a aquellos disponibles en Internet al estilo "
|
|
"de los de los proveedores de hosting, ISPs y Google: índices de eepsites "
|
|
"y servicios de saltos, motores de búsquedas, email, servidores de "
|
|
"dominios tipo DNS, alojamiento, proxies, etc. Estos servicios se centran "
|
|
"en mejorar la utilidad la red en general, y hacen el contenido de más "
|
|
"accesible."
|
|
|
|
#: 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 "sin mantenimiento"
|
|
|
|
#: 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>Sin mantenimiento</em> — Es usaao para etiquetar los pluguins, "
|
|
"aplicaciones y servicios que no son actualizados o mantenidos y serán "
|
|
"removidos de la lista en el futuro."
|
|
|
|
#: 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 ""
|
|
"Aviso: Usar un programa, pluguin o servicio en I2P no protege "
|
|
"automáticamente su anonimato. I2P no es más que un conjunto de "
|
|
"herramientas que pueden ayudarle a mitigar ciertos <a "
|
|
"href=\"%(threatmodel)s\">peligros conocidos para su anonimato</a>. No "
|
|
"damos ni podríamos darle ninguna garantía sobre la seguridad de las "
|
|
"aplicaciones, pluguins o servicios listados abajo. La mayoría de las "
|
|
"aplicaciones y pluguins deben ser configurados adecuadamente, y algunos "
|
|
"necesitan ser parcheados — e incluso así su anonimato podría no estar "
|
|
"asegurado. Igualmente, los servicios podrían poner su anonimato en "
|
|
"riesgo, ya sea por diseño o por una configuración deficiente del servicio"
|
|
" o de usted mismo."
|
|
|
|
#: 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 tiene dudas sobre una aplicación, pluguin o servicio a la hora de "
|
|
"usarlo con I2P, le recomendamos que consulte sobre sus posibles problemas"
|
|
" con la privacidad a sus programadores, buscando en su listas o en los "
|
|
"servidores de errores, si existen, y consultando a miembros de la "
|
|
"comunidad de i2p conocidos y de confianza."
|
|
|
|
#: 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 ""
|
|
"Tome responsabilidad por su propio seguridad y anonimato — busque siempre"
|
|
" asesoramiento experto, edúquese usted mismo, use su buen juicio, sea "
|
|
"consciente de si revela información personal, y no tome atajos."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:201
|
|
msgid "Lightweight forum software."
|
|
msgstr "Aplicación de foros ligera."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:207
|
|
msgid "Another lightweight blogging platform."
|
|
msgstr "Otra plataforma para blogs ligera."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:213
|
|
msgid "Most popular open source forum software."
|
|
msgstr "La aplicación libre de foros más pupular."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:219
|
|
msgid "Distributed forums software, originally developed by jrandom."
|
|
msgstr "Sistema de foros distribuido, originalmente creado por 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 ""
|
|
"Un clon en Java de MediaWiki. Sin necesidad de base de datos externa. "
|
|
"Pluguin disponible <a "
|
|
"href=\"http://%(plugins)s/plugins/jamwiki\">aquí</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 ""
|
|
"Port del sistema de archivos distribuido <a href=\"http://tahoe-"
|
|
"lafs.org/\"><strong>Tahoe-LAFS</strong></a> para la red I2P. El pluguin "
|
|
"de control <a href=\"http://%(stats)s/i2p/plugins/\">aquí</a>."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:251
|
|
msgid "Most popular distributed version control system."
|
|
msgstr "El sistema distribuido de control de versiones más popular."
|
|
|
|
#: 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 ""
|
|
"Otro sistema distribuido de control de versiones. Actualmente <a "
|
|
"href=\"%(monotone)s\">usado para el desarrollo 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 ""
|
|
"Proporciona control sobre la listas de direcciones, que son parte de un "
|
|
"sistema sencillo controlado por el usuario del <a "
|
|
"href=\"%(naming)s\">sistema de dominios de I2P</a>, de alguna forma "
|
|
"análogo al Sistema de Nombres de Internet(DNS). La lista de direcciones "
|
|
"convierte las destinaciones Base64 a nombres de dominio cortos, "
|
|
"normalmente comprensibles para los humanos, con el sufijo .i2p, los "
|
|
"cuales pueden ser traducidos de vuelta por el cliente HTTP del ruter de "
|
|
"I2P a sus direcciones Base64. (<em>Nota:</em> Mientras que las "
|
|
"destinaciones Base64 son únicas globalmente, los nombres de \"domino\" de"
|
|
" la lista de direcciones sólo son resueltos por destinaciones locales "
|
|
"únicas.)"
|
|
|
|
#: 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 ""
|
|
"Sistema de email p2p sin servidores que usa una tabla distribuida de "
|
|
"hashes (DHT) para el almacenaje seguro de emails."
|
|
|
|
#: 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 ""
|
|
"Proporciona servicio de email dentro de I2P a través de direcciones "
|
|
"@mail.i2p, y un servicio de salida de emails entre la red I2P y el "
|
|
"Internet público a través de las direcciones @i2pmail.org. Es uno de los "
|
|
"sistemas continuados más viejo de 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 ""
|
|
"Interfaz web simple para emails. Configurado por defecto para usar el "
|
|
"servidor de email 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 "Cliente de BitTorrent de I2P integrado."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:341
|
|
msgid "Modified version of I2PSnark."
|
|
msgstr "Versión modificada de 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"
|
|
"Un fork de rufus que utiliza Basic Open Bridge (BOB), puente básico "
|
|
"libre, y tiene muchas mejoras, incluyendo el uso del último wxwidgets y "
|
|
"python. También soporta el uso de seedless, sin-emilla, si está "
|
|
"instalado, para los torrents sin tracker, y el uso de anlaces imán, "
|
|
"magnet-link, para torrents dentro de 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 ""
|
|
"Cliente de BitTorrent completo multi plataforma con varios ports para "
|
|
"varios GUIs diferentes."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:367
|
|
msgid "Has a plugin providing I2P support."
|
|
msgstr "Contiene un pluguin para usarse con 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 ""
|
|
"Para una comparación detallada entre trackers/indexadores en I2P, mire <a"
|
|
" href=\"http://%(zzz)s/files/trackers.html\">aquí</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 ""
|
|
"El código que que hace funcionar uno de las mayores webs trackers en "
|
|
"Internet. Parcheado para 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 ""
|
|
"Tracker/indexador ligero. Mod para I2P disponible en la rama de "
|
|
"i2p.opentracker del <a href=\"%(newdevs)s\">repositorio Monotone de "
|
|
"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> Tracker libre basado en Java. Más "
|
|
"información <a href=\"http://%(zzz)s/topics/598?page=1#p2085\">aquí</a>."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:413
|
|
msgid "I2P port of the aMule ED2K client."
|
|
msgstr "Port para I2P del cliente aMule ED2K."
|
|
|
|
#: 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 ""
|
|
"Port del cliente Gnutella <a "
|
|
"href=\"http://www.phex.org/mambo/\">Phex</a>. La web del pluguin <a "
|
|
"href=\"http://%(stats)s/i2p/plugins/\">aquí</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 ""
|
|
"Caché de los pares de Gnutella en I2P. Web del pluguin <a "
|
|
"href=\"http://%(stats)s/i2p/plugins/\">aquí</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 ""
|
|
"Herramienta estándar Unix para la manipulación de sockets. Durante los "
|
|
"años han aparecido varios clons, ports y forks."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:455
|
|
msgid "Like netcat but more powerful."
|
|
msgstr "Igual que netcat pero más potente."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:461
|
|
msgid ""
|
|
"Proxy providing simple, transparent SOCKS-ification of network "
|
|
"applications."
|
|
msgstr ""
|
|
"Proxy que proporciona el uso transparente de SOCKS de las palicaciones de"
|
|
" la red."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:471
|
|
msgid ""
|
|
"Most popular implementation of the Secure Shell (SSH) protocol and "
|
|
"related tools."
|
|
msgstr ""
|
|
"La implementación más popular del protocolo Secure Shell (SSH) y varias "
|
|
"herramientas relacionadas."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:477
|
|
msgid "Open source Secure Shell (SSH) client for Windows."
|
|
msgstr "Cliente para Windows de Secure Shell (SSH) de código libre."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:489
|
|
msgid "IM client with multiple incarnations."
|
|
msgstr "Cliente de mensajería, IM, con múltiples encarnaciones."
|
|
|
|
#: 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 ""
|
|
"Muchos clientes IRC filtran información del usuario a los servidores u "
|
|
"otros clientes, por lo que el IRC de I2P y los túneles clientes SOCKS IRC"
|
|
" filtran ciertos mensajes de entrada y de salida para limpiar los datos "
|
|
"tales como la IP de la LAN, la IP externa, los nombres de host local, y "
|
|
"el nombre y la versión de los clientes de IRC. En particular, dos tipos "
|
|
"de mensajes, DCC y CTCP, no pueden ser anonimizados sin cambios en el "
|
|
"protocolo de los clientes y servidores de IRC, por lo que han sido "
|
|
"completamente bloqueados, excepto para CTCP ACTION (el mensaje emitido "
|
|
"por el comando <code>/me</code>) que nos peligroso por sí mismo."
|
|
|
|
#: 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 ""
|
|
"El filtro de IRC de I2P no puede cubrir todas las filtraciones — los "
|
|
"usuarios deben comprobar si su cliente envía su nombre real o su nombre "
|
|
"local. Los sniffers de paquetes como <a "
|
|
"href=\"http://www.wireshark.org/\">Wireshark</a> son muy útiles en estos "
|
|
"casos. Para eliminar las filtraciones puede ser tan simple como cambiar "
|
|
"la configuración por defecto del cliente IRC. Si eso no ayuda, avise a "
|
|
"los desarrolladores de I2P, podrían ser capaces de arreglarlo añadiendo "
|
|
"algún filtro adicional."
|
|
|
|
#: 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 ""
|
|
"Cliente de IRC pequeño en Java. Pluguin disponible <a href=⏎\n"
|
|
"\"http://%(stats)s/i2p/plugins/\">aquí</a>."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:528
|
|
msgid "Cross-platform graphical IRC client."
|
|
msgstr "Cliente de IRC gráfico multi plataforma."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:534
|
|
msgid "Unixy terminal-based IRC client."
|
|
msgstr "Cliente de IRC Unix para terminal."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:540
|
|
msgid "Another Unixy terminal-based IRC client."
|
|
msgstr "Otro cliente de IRC Unix para terminal."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:550
|
|
msgid "IRC server developed from scratch."
|
|
msgstr "Servidor IRC desarrollado desde cero."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:556
|
|
msgid "Most popular IRC server."
|
|
msgstr "El servidor IRC más popular."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:568
|
|
msgid ""
|
|
"Any website hosted anonymously on I2P, reachable through the I2P router's"
|
|
" HTTP proxy."
|
|
msgstr ""
|
|
"Cualquier web alojada anónimamente en I2P, accesible desde el proxy HTTP "
|
|
"del ruter de 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 ""
|
|
"Webs anónimas distribuidas alojadas usando Tahoe-LAFS-I2P, actualmente "
|
|
"sólo accesibles con clientes Tahoe-LAFS-I2P o a través del 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 ""
|
|
"Web para el servicio de saltos de <a "
|
|
"href=\"http://%(sponge)s/\">sponge</a>. Con el código fuente desponible."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:595
|
|
msgid "Another jump service."
|
|
msgstr "Otro servicio de saltos."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:601
|
|
msgid "Dynamically updated eepsite index."
|
|
msgstr "Índice de eepsites actualizado dinámicamente."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:607
|
|
#, python-format
|
|
msgid "Website for <a href=\"http://%(zzz)s/\">zzz's</a> jump service."
|
|
msgstr "Web para el servicio de saltos 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 "Web proxy con cacheo activo SOCKS con la capacidad de filtrado básico."
|
|
|
|
#: 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 ""
|
|
"Web proxy sin cacheo enfocado a la privacidad con capacidad de filtrado "
|
|
"avanzado. Excelente a la hora de eliminar anuncios y otras mierdas."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:632
|
|
msgid "Venerable caching web proxy."
|
|
msgstr "Venerable web proxy con caché."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:639
|
|
msgid "Gateways allowing users on the public Internet to access eepsites."
|
|
msgstr ""
|
|
"Salidas que permiten a los usuarios en el Internet público acceder a las "
|
|
"eepsites en I2P."
|
|
|
|
#: 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 ""
|
|
"Proxy de entrada de <a href=\"http://%(tino)s/\">tino</a> en el Internet "
|
|
"público."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:654
|
|
#: i2p2www/pages/site/docs/applications/supported.html:662
|
|
msgid "Another inproxy on the public Internet."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:671
|
|
msgid ""
|
|
"Gateways allowing I2P users to access content hosted on the public "
|
|
"Internet."
|
|
msgstr ""
|
|
"Salidas que permiten a los usuarios de I2P acceder al contenido en el "
|
|
"Internet público."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:678
|
|
msgid "Publicly advertised outproxy running Squid, located in Germany."
|
|
msgstr ""
|
|
"Proxy de salida públicamente anunciado que usa Squid, localizado en "
|
|
"Alemania."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:688
|
|
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 ""
|
|
"Servidor web ligero basado en Java servlet container. I2P está "
|
|
"estrechamente integrado con una copia de Jetty incluida, que está "
|
|
"configurada por defecto para alojar la <a "
|
|
"href=\"http://127.0.0.1:7658/\">eepsite del usuario</a>. La copia de "
|
|
"Jetty incluida también sirve la consola del ruter de I2P y las "
|
|
"palicaciones web incluidas con I2P."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:700
|
|
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 ""
|
|
"Además de Jetty, cualquier servidor web debería funcionar con I2P sin "
|
|
"modificaciones mientras sea compatible con HTTP. Algunos servidores web "
|
|
"usados actualmente para servir contenido en I2P son:"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:709
|
|
msgid "Most popular web server on the public WWW."
|
|
msgstr "El servidor web más popular en la WWW pública."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:715
|
|
msgid "Web server and Java servlet container. More features than Jetty."
|
|
msgstr "Servidor web en Java servlet container. Con mas funciones que Jetty."
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:721
|
|
msgid "Fast lightweight web server."
|
|
msgstr "Servidor web rápido y ligero"
|
|
|
|
#: i2p2www/pages/site/docs/applications/supported.html:727
|
|
msgid "High-performance lightweight web server."
|
|
msgstr "Servidor web ligero de alto rendimiento."
|
|
|
|
#: i2p2www/pages/site/docs/discussions/naming.html:2
|
|
msgid "Naming discussion"
|
|
msgstr "Discusión sobre nombres"
|
|
|
|
#: 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 ""
|
|
"NOTA: Lo siguiente es una discusión de las razones que hay detrás del \n"
|
|
"sistema de nombres de I2P, argumentos comunes y posibles alternativas. \n"
|
|
"Vea la <a href=\"%(naming)s\">página de nombres</a> para la documentación"
|
|
" actual."
|
|
|
|
#: i2p2www/pages/site/docs/discussions/naming.html:10
|
|
msgid "Discarded alternatives"
|
|
msgstr "Alternativas descartadas"
|
|
|
|
#: 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 ""
|
|
"Los nombres dentro de I2P han sido tema a menudo debatido desde el mismo "
|
|
"principio, con defensores de todo el espectro de posibilidades. Sin \n"
|
|
"embargo, dada la demanda de comunicaciones seguras y operaciones\n"
|
|
"descentralizadas inherente de I2P, el sistema de nombres tradicional \n"
|
|
"estilo-DNS está claramente desestimado, ya que son sistemas de voto \n"
|
|
"donde la \"mayoría manda\"."
|
|
|
|
#: 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 ""
|
|
"Aunque I2P no promociona el uso de servicios tipo-DNS, ya que el daño \n"
|
|
"hecho al secuestrar un sitio puede ser tremedo - y los destinos inseguros"
|
|
" no tienen valor. DNSsec por si mismo aún se respalda sobre los "
|
|
"registradores \n"
|
|
"y las autoridades de certificados, mientras con I2P, las solicitudes "
|
|
"enviadas \n"
|
|
"a un destino no pueden ser interceptadas o la respuesta falseada, ya que"
|
|
" \n"
|
|
"están cifradas hacia un las claves públicas del destino, y un destino en "
|
|
"si \n"
|
|
"mismo es soloo un par de claves y un certificado. Los sistemas estilo-DNS"
|
|
" \n"
|
|
"por otro lado permiten que a cualquiera de los servidores de nombres en "
|
|
"la \n"
|
|
"ruta de la búsqueda, montar sencillos ataques de denegación de servicio \n"
|
|
"(DoS) o falsificación (`spoofing`). Por añadidura, un certificado "
|
|
"autentificando \n"
|
|
"las respuestas como firmadas por alguna autoridad centralizada de \n"
|
|
"certificados, podría solventar muchas de los problemas con servidores de"
|
|
" \n"
|
|
"nombres hostiles, pero también dejaría abiertos los ataques de respuesta"
|
|
" \n"
|
|
"como los ataques de autoridades de certificados hostiles."
|
|
|
|
#: 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 ""
|
|
"Votar el estilo del nombrado también es peligroso, especialmente \n"
|
|
"dada la efectividad de ataques Sybil en sistemas anónimos - el atacante \n"
|
|
"puede simplemente crear arbitrariamente un alto número de pares (`peers`)"
|
|
" \n"
|
|
"y \"votar\" con cada uno para conquistar un determinado nombre. Métodos "
|
|
"prueba-de-trabajo pueden usarse para hacer la identidad no-gratuita, pero"
|
|
" cada al crecer la red la carga necesaria para contactar con todo el "
|
|
"mundo \n"
|
|
"para realizar una votación en línea no es plausible, or si no se consulta"
|
|
" a la \n"
|
|
"red completa, diferentes grupos de respuestas pueden ser alcanzables."
|
|
|
|
#: 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 ""
|
|
"Sin embargo, como con Internet, I2P está manteniendo el diseño y las \n"
|
|
"operaciones de un sistema de nombres fuera de la (estilo-IP) capa de \n"
|
|
"comunicación. La librería de nombrado empaquetada incluye una interfaz de"
|
|
"\n"
|
|
"proveedor de servicio sencilla a la que los <a "
|
|
"href=\"#alternatives\">sistemas de nombres alternativos</a> \n"
|
|
"pueden enchufarse, permitiendo a los usuarios finales dirigir la clase de"
|
|
" \n"
|
|
"compromisos de nombrado que ellos prefieran."
|
|
|
|
#: 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 ""
|
|
"Vea también <a href=\"https://zooko.com/distnames.html\">nombres: "
|
|
"descentralizados, seguros, con-significado-humano: escoja dos</a>."
|
|
|
|
#: i2p2www/pages/site/docs/discussions/naming.html:55
|
|
msgid "(adapted from a post in the old Syndie, November 26, 2005)"
|
|
msgstr "(adaptado desde un post en el antiguo Syndie, 26 de noviembre de 2005)"
|
|
|
|
#: 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 ""
|
|
"P: ¿Qué hacer si algunos servidores no están de acuerdo con una de las \n"
|
|
"direcciones y si algunas de las direcciones están funcionando y otras no?"
|
|
" \n"
|
|
"¿Quién es la fuerte correcta de un nombre?"
|
|
|
|
#: 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 ""
|
|
"R: Tú no. En realidad esta es una diferencia critica entre los nombres en"
|
|
" I2P \n"
|
|
"y como funciona DNS - los nombres en I2P son legibles por humanos, \n"
|
|
"seguros, pero <b>no globalmente únicos</b>. Esto es por diseño, y una \n"
|
|
"parte inherente de nuestras necesidades de seguridad."
|
|
|
|
#: 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 ""
|
|
"Los nombres no serán, nunca, legibles por humanos con seguridad y \n"
|
|
"globalmente únicos."
|
|
|
|
#: 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 ""
|
|
"Lo siguiente desde zzz es una revisión de varias quejas comunes acerca \n"
|
|
"del sistema de nombres de I2P."
|
|
|
|
#: 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 ""
|
|
"<b>Ineficiencia:</b> \n"
|
|
"El hosts.txt completo está descargado (si ha cambiado, ya que eepget usa"
|
|
" \n"
|
|
"la etag y las últimas cabeceras modificadas). Ahora ocupa alrededor de \n"
|
|
"400KB para casi 800 servidores."
|
|
|
|
#: 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 ""
|
|
"Verdad, pero esto no es mucho tráfico en el contexto de I2P, que en si \n"
|
|
"mismo es salvajemente ineficiente (bases de datos inundadas, enorme \n"
|
|
"tráfico de control de la encriptación y el ajustado, enrutado ajo "
|
|
"(`garlic`), \n"
|
|
"etc.). Si descargó un fichero hosts.txt desde alguien cada 12 horas, hace"
|
|
"\n"
|
|
"una media de unos 10bytes/s."
|
|
|
|
#: 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 ""
|
|
"Como habitualmente es el caso en I2P, hay un compromiso de equilibrio \n"
|
|
"fundamental aquí entre anonimidad y eficiencia. Alguién diría que usar el"
|
|
" \n"
|
|
"etag y las últimas cabeceras modificadas es arriesgado porque expone la "
|
|
"última vez que uno solicitó los datos. Otros han sugerido pedir sólo "
|
|
"claves \n"
|
|
"específicas (similar a lo que otros servicios distribuídos ('jump') "
|
|
"hacen, pero \n"
|
|
"de una forma más automatizada), posiblemente a un coste más elevado en \n"
|
|
"anonimato."
|
|
|
|
#: 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 ""
|
|
"Posibles mejoras serían un reemplazo o suplemento al libro de direcciones"
|
|
" \n"
|
|
"(vea <a href=\"http://%(i2host)s/\">%(i2host)sp</a>), or algo sencillo "
|
|
"como suscribirse a \n"
|
|
"http://example.i2p/cgi-bin/recenthosts.cgi en lugar de a "
|
|
"http://example.i2p/hosts.txt \n"
|
|
"si un hipotético recenthosts.cgi desplegado en todos los servidores en "
|
|
"las \n"
|
|
"últimas 24 horas, por ejemplo, que pudiera ser tanto más eficiente como "
|
|
"más anónimo que el actual hosts.txt con las últimas modificaciones y "
|
|
"etag."
|
|
|
|
#: 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 ""
|
|
"Una implementación de ejemplo está en stats.i2p en <a "
|
|
"href=\"%(url)s\">%(url)s</a>.\n"
|
|
"Este script devuelve un etag con marcas de tiempo. Cuando una solicitud \n"
|
|
"entra con el etag If-None-Match, el script SOLO devuelve nuevos "
|
|
"servidores \n"
|
|
"desde su marca de tiemp, o 304 No Modificado si no hay ninguno. De esta "
|
|
"manera el script devuelve eficientemente sólo los servidores de los que "
|
|
"el \n"
|
|
"suscriptor no sepa de ellos, de una manera \n"
|
|
"compatible-con-el-libro-de-direcciones."
|
|
|
|
#: 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 ""
|
|
"Así la ineficiencia no es un gran problema y hay varias formas de mejorar"
|
|
" \n"
|
|
"las coasas sin un cambio radical."
|
|
|
|
#: 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 ""
|
|
"<b>Not escalable:</b> \n"
|
|
"El hosts.txt de 400KB (con búsqueda lineal) no es tan grande de momento \n"
|
|
"y probablemente pueda crecer por un factor de 10x o 100x antes de que \n"
|
|
"sea un problema."
|
|
|
|
#: 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 "Alternativas"
|
|
|
|
#: 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 "Certificados"
|
|
|
|
#: 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 "Cifrado ElGamal"
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:22
|
|
msgid ""
|
|
"\n"
|
|
"ElGamal is used for asymmetric encryption.\n"
|
|
"ElGamal is used in several places in I2P:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:27
|
|
#, python-format
|
|
msgid ""
|
|
"To encrypt router-to-router <a href=\"%(tunnelcreation)s\">Tunnel Build "
|
|
"Messages</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:30
|
|
#, python-format
|
|
msgid ""
|
|
"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 ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:34
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:189
|
|
#, 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 "El cifrado ElGamal contiene:"
|
|
|
|
#: 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,\n"
|
|
"we use the short exponent size of 226 bits (28.25 bytes).\n"
|
|
"This should be safe for use with the Oakley primes, per\n"
|
|
"<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 <code>%(oldbenchmarks)s</code> (now dead),\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:158
|
|
#, python-format
|
|
msgid ""
|
|
"Also, <a href=\"%(book)s\">Koshiba & 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:167
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:264
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:343
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:382
|
|
msgid "Obsolescence"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:168
|
|
msgid ""
|
|
"The vulnerability of the network to an ElGamal attack and the impact of "
|
|
"transitioning to a longer bit length is to be studied.\n"
|
|
"It may be quite difficult to make any change backward-compatible."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:176
|
|
msgid "AES is used for symmetric encryption, in several cases:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:181
|
|
msgid "For <a href=\"#transports\">transport encryption</a> after DH key exchange"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:185
|
|
#, python-format
|
|
msgid ""
|
|
"For end-to-end (destination-to-destination) encryption as a part of <a "
|
|
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:195
|
|
#, python-format
|
|
msgid ""
|
|
"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:200
|
|
#, python-format
|
|
msgid ""
|
|
"We use AES with 256 bit keys and 128 bit blocks in CBC mode.\n"
|
|
"The padding used is specified in <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:265
|
|
msgid ""
|
|
"The vulnerability of the network to an AES attack and the impact of "
|
|
"transitioning to a longer bit length is to be studied.\n"
|
|
"It may be quite difficult to make any change backward-compatible."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:270
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:362
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:388
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:456
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:281
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:296
|
|
msgid "References"
|
|
msgstr "Referencias"
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:273
|
|
msgid "Feb. 7, 2006 Status Notes"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:280
|
|
#, python-format
|
|
msgid ""
|
|
"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), "
|
|
"as implemented in\n"
|
|
"<a href=\"%(code)s\">[DSAEngine]</a>.\n"
|
|
"DSA was chosen because it is much faster for signatures than ElGamal."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:286
|
|
msgid "The DSA constants"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:337
|
|
#, python-format
|
|
msgid ""
|
|
"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:344
|
|
#, python-format
|
|
msgid ""
|
|
"<a href=\"%(pdf)s\">NIST 800-57</a>\n"
|
|
"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n"
|
|
"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a "
|
|
"given key."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:350
|
|
msgid ""
|
|
"The prime number was chosen <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:357
|
|
msgid ""
|
|
"The vulnerability of the network to a DSA attack and the impact of "
|
|
"transitioning to longer keys is to be studied.\n"
|
|
"It may be quite difficult to make any change backward-compatible."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:365
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:367
|
|
#, python-format
|
|
msgid "Meeting %(num)s"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:369
|
|
msgid "Choosing the constants"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:377
|
|
#, python-format
|
|
msgid ""
|
|
"Hashes within I2P are plain old SHA256, as implemented in\n"
|
|
"<a href=\"%(code)s\">[SHA256Generator]</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:383
|
|
msgid ""
|
|
"The vulnerability of the network to a SHA-256 attack and the impact of "
|
|
"transitioning to a longer hash is to be studied.\n"
|
|
"It may be quite difficult to make any change backward-compatible."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:394
|
|
msgid "Transports"
|
|
msgstr "Transportes"
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:395
|
|
msgid ""
|
|
"At the lowest protocol layer,\n"
|
|
"point-to-point inter-router communication is protected by the transport "
|
|
"layer security.\n"
|
|
"Both transports use 256 byte (2048 bit) Diffie-Hellman key exchange\n"
|
|
"using\n"
|
|
"<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:407
|
|
msgid "NTCP connections"
|
|
msgstr "Conexiones NTCP"
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:409
|
|
#, python-format
|
|
msgid ""
|
|
"NTCP connections are negotiated with a 2048 Diffie-Hellman "
|
|
"implementation,\n"
|
|
"using the router's identity to proceed with a station to station "
|
|
"agreement, followed by\n"
|
|
"some encrypted protocol specific fields, with all subsequent data "
|
|
"encrypted with AES\n"
|
|
"(as above).\n"
|
|
"The primary reason to do the DH negotiation instead of using <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:417
|
|
msgid ""
|
|
"In order to migrate to a more standardized implementation (TLS/SSL or "
|
|
"even SSH), the following issues must be addressed:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:421
|
|
msgid ""
|
|
"Can we somehow reestablish sessions securely (ala session tags) or do we "
|
|
"need to do full negotiation each time?"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:424
|
|
msgid ""
|
|
"Can we simplify/avoid the x509 or other certificate formats and use our "
|
|
"own RouterInfo structure (which \n"
|
|
"contains the ElGamal and DSA keys)?"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:429
|
|
#, python-format
|
|
msgid "See <a href=\"%(ntcp)s\">the NTCP specification</a> for details."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:433
|
|
msgid "UDP connections"
|
|
msgstr "Conexiones UDP"
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:434
|
|
msgid ""
|
|
"SSU (the UDP transport) encrypts each packet with AES256/CBC with both an"
|
|
" explicit IV and MAC \n"
|
|
"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a "
|
|
"2048 bit \n"
|
|
"Diffie-Hellman exchange, station-to-station authentication with the other"
|
|
" \n"
|
|
"router's DSA key, plus each network message has their own hash for local "
|
|
"integrity \n"
|
|
"checking."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:442
|
|
#, python-format
|
|
msgid "See <a href=\"%(ssu)s#keys\">the SSU specification</a> for details."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/cryptography.html:446
|
|
#, python-format
|
|
msgid ""
|
|
"WARNING - I2P's HMAC-MD5-128 used in SSU is apparently non-standard.\n"
|
|
"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
|
|
msgid "February 2011"
|
|
msgstr "Febrero de 2011"
|
|
|
|
#: 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 ""
|
|
"La primera vez que un ruter quiere cifrar un mensaje para otro ruter,\n"
|
|
"estos cifran las claves para una clave de sesión AES256 con ElGamal y\n"
|
|
"adjunta la payload ya cifrado AES256/CBC después del bloque cifrado "
|
|
"ElGamal. Además del payload cifrado, las sección del cifrado AES contiene"
|
|
" el \n"
|
|
"tamaño de la carga, el hash SHA256 del payload no cifrado, así como el "
|
|
"número\n"
|
|
"de \"etiquetas de sesión\" - nonces aleatorios de 32 bits. La siguiente "
|
|
"vez que el remitente desea cifrar un mensaje garlic para otro ruter, en "
|
|
"vez de de cifrar una nueva clave de sesión con ElGamal, simplemente "
|
|
"elijen una de las etiquetas enviadas de la sesión anterior y cifran con "
|
|
"AES el payload como anteriormente, usando la clave de sesión usada con\n"
|
|
"la etiqueta de la sesión, antepuesto con la misma etiqueta de sesión. "
|
|
"Cuando un ruter recibe\n"
|
|
" un mensaje cifrado garlic, comprueba los primeros 32 bytes para ver si "
|
|
"coinciden \n"
|
|
"con una etiqueta de sesión disponible - si lo hace, simplemente descifran"
|
|
" el mensaje con AES, pero si no, descifran el primer bloque con ElGamal"
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:35
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:528
|
|
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 ""
|
|
"Cada etiqueta de sesión puede usarse sólo una vez para evitar que "
|
|
"adversarios internos\n"
|
|
"puedan relacionar diferentes mensajes al enviarse estos entre los mismos "
|
|
"ruters. El remitente de un mensaje cifrado con etiqueta de sesión + "
|
|
"ElGamal/AES elije cuando y cuantas etiquetas a enviar, poniendo a "
|
|
"disposición del que recibe suficientes etiquetas para trabajar con un "
|
|
"buen número de mensajes. Los mensajes Garlic pueden detectar la llegada "
|
|
"exitosas de las etiquetas construyendo un mensaje adicional tipo clavo "
|
|
"(un \"mensaje de estado de entrega\") - cuando el mensaje llega al "
|
|
"destinatario elegido y es descifrado correctamente, este pequeño mensaje "
|
|
"de estado de entrega es uno de los clavos expuestos y tiene instrucciones"
|
|
" para el destinatario para que retorne al remitente original (a través de"
|
|
" un túnel de entrada, claro). Cuando el remitente original \n"
|
|
"recibe el mensaje de estado de envío, sabe que la etiqueta de sesión "
|
|
"incluida en el mensaje garlic ha sido enviada exitosamente."
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:50
|
|
msgid ""
|
|
"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 ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:84
|
|
msgid ""
|
|
"It is part of an existing session and contains a Session Tag and an AES "
|
|
"encrypted block"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:85
|
|
msgid "It is for a new session and contains both ElGamal and AES encrypted blocks"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:88
|
|
msgid ""
|
|
"When a router receives a message, it will first assume it is from\n"
|
|
"an existing session and attempt to look up the Session Tag and decrypt "
|
|
"the following data using AES.\n"
|
|
"If that fails, it will assume it is for a new session and attempt to\n"
|
|
"decrypt it using ElGamal."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:97
|
|
msgid "New Session Message Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:98
|
|
msgid ""
|
|
"A New Session ElGamal Message contains two parts, an encrypted ElGamal "
|
|
"block\n"
|
|
"and an encrypted AES block."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:103
|
|
msgid "The encrypted message contains:"
|
|
msgstr "El mensaje cifrado contiene:"
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:127
|
|
msgid "ElGamal Block"
|
|
msgstr "Bloque ElGamal"
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:128
|
|
msgid "The encrypted ElGamal Block is always 514 bytes long."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:132
|
|
msgid "The unencrypted ElGamal data is 222 bytes long, containing:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:164
|
|
#, python-format
|
|
msgid ""
|
|
"The 32-byte\n"
|
|
"<a href=\"%(commonstructures)s#type_SessionKey\">Session Key</a>\n"
|
|
"is the identifier for the session.\n"
|
|
"The 32-byte Pre-IV will be used to generate the IV for the AES block that"
|
|
" follows;\n"
|
|
"the IV is the first 16 bytes of the SHA-256 Hash of the Pre-IV."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:172
|
|
#, python-format
|
|
msgid ""
|
|
"The 222 byte payload is encrypted\n"
|
|
"<a href=\"%(cryptography)s#elgamal\">using ElGamal</a>\n"
|
|
"and the encrypted block is 514 bytes long.\n"
|
|
"</p>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:179
|
|
msgid "AES Block"
|
|
msgstr "Bloque AES"
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:180
|
|
msgid "The unencrypted data in the AES block contains the following:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:224
|
|
#, python-format
|
|
msgid "2-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>, 0-200"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:228
|
|
#, python-format
|
|
msgid ""
|
|
"That many 32-byte <a "
|
|
"href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:232
|
|
#, python-format
|
|
msgid "4-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:236
|
|
#, python-format
|
|
msgid ""
|
|
"The 32-byte <a href=\"%(commonstructures)s#type_Hash\">SHA256 Hash</a> of"
|
|
" the payload"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:240
|
|
msgid "A one-byte value. Normally == 0. If == 0x01, a Session Key follows"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:244
|
|
#, python-format
|
|
msgid ""
|
|
"A 32-byte <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 ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:251
|
|
msgid ""
|
|
"Random data to a multiple of 16 bytes for the total length.\n"
|
|
" May contain more than the minimum required padding."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:256
|
|
msgid "Minimum length: 48 bytes"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:260
|
|
#, python-format
|
|
msgid ""
|
|
"The data is then <a href=\"%(cryptography)s\">AES Encrypted</a>,\n"
|
|
"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 ""
|
|
|
|
#: 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 ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:272
|
|
msgid "New Session Key is currently unused and is never present."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:277
|
|
msgid "Existing Session Message Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:278
|
|
msgid ""
|
|
"The session tags delivered successfully are remembered for a \n"
|
|
"brief period (15 minutes currently) until they are used or discarded.\n"
|
|
"A tag is used by packaging one in an Existing Session Message that\n"
|
|
"contains only an AES encrypted block, and is not preceded by an\n"
|
|
"ElGamal block."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:286
|
|
msgid ""
|
|
"The existing session message is\n"
|
|
"as follows:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:309
|
|
#, python-format
|
|
msgid ""
|
|
"A 32-byte <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:332
|
|
msgid ""
|
|
"There are many possible areas to tune the Session Key Manager's "
|
|
"algorithms;\n"
|
|
"some may interact with the streaming library behavior, or have "
|
|
"significant\n"
|
|
"impact on overall performance."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:338
|
|
msgid ""
|
|
"Delivery of too many tags at one time may impose substantial overhead for"
|
|
" brief streaming connections\n"
|
|
"or datagrams, and increase the chance of message loss.\n"
|
|
"We currently deliver 40 tags at a time (1280 bytes).\n"
|
|
"32 (1024 bytes) may be better for tunnel fragmentation."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:345
|
|
msgid ""
|
|
"A few tags could be delivered in each of several messages, or lots of "
|
|
"tags all at once."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:349
|
|
msgid ""
|
|
"It is also important to study and tune\n"
|
|
"the low-tag thresholds at which more tags are sent."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:354
|
|
msgid ""
|
|
"The number of tags delivered could depend on message size, keeping in "
|
|
"mind\n"
|
|
"the eventual padding to 1KB at the tunnel message layer."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:359
|
|
msgid ""
|
|
"Clients could send an estimate of session lifetime to the router, as an "
|
|
"advisory\n"
|
|
"on the number of tags required."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:364
|
|
msgid ""
|
|
"Delivery of too few tags causes the router to fall back to an expensive "
|
|
"ElGamal encryption."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:368
|
|
msgid ""
|
|
"The router may assume delivery of Session Tags, or await acknowledgement "
|
|
"before using them;\n"
|
|
"there are tradeoffs for each strategy."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:373
|
|
msgid ""
|
|
"For very brief messages, almost the full 222 bytes of the pre-IV and "
|
|
"padding fields in the ElGamal block\n"
|
|
"could be used for the entire message, instead of establishing a session."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:378
|
|
msgid ""
|
|
"Evaluate padding strategy; currently we pad to a minimum of 128 bytes.\n"
|
|
"Would be better to add a few tags to small messages than pad."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:383
|
|
msgid ""
|
|
"Perhaps things could be more efficient if the Session Tag system was "
|
|
"bidirectional,\n"
|
|
"so tags delivered in the 'forward' path could be used in the 'reverse' "
|
|
"path,\n"
|
|
"thus avoiding ElGamal in the initial response.\n"
|
|
"The router currently plays some tricks like this when sending\n"
|
|
"tunnel test messages to itself."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:391
|
|
#, python-format
|
|
msgid ""
|
|
"Change from Session Tags to\n"
|
|
"<a href=\"%(futureperf)s#prng\">a synchronized PRNG</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/elgamal-aes.html:396
|
|
#, python-format
|
|
msgid ""
|
|
"Several of these ideas may require a new I2NP message type, or\n"
|
|
"set a flag in the\n"
|
|
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
|
|
"or set a magic number in the first few bytes of the Session Key field\n"
|
|
"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 "Garlic Routing, enrutado Garlic"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:6
|
|
msgid "Garlic Routing and \"Garlic\" Terminology"
|
|
msgstr "Garlic Routing y terminología \"Garlic\""
|
|
|
|
#: 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 ""
|
|
"Los términos \"garlic routing, enrutado garlic\" y \"garlic encryption, "
|
|
"cifrado garlic\"son usados a menudo imprecisamente para designar la "
|
|
"tecnología de I2P.\n"
|
|
"Aquí vamos a esplicar la historia de estos términos, su significados,y el"
|
|
" uso de los métodos \"garlic\" en 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 ""
|
|
"\"Garlic Routing\" fue acuñado por <a "
|
|
"href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a> en "
|
|
"la <a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> "
|
|
"de Roger Dingledine en Free Haven. Sección 8.1.1 (Junio 2000), derivado "
|
|
"de <a href=\"http://www.onion-router.net/\">Onion Routing</a>."
|
|
|
|
#: 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 ""
|
|
"\"Garlic\" fue quizás usado por los desarrolladores originales de I2P "
|
|
"porque implementa un forma de agrupación tal y como Freedman describió, o"
|
|
" simplemente para enfatizar las diferencias con Tor. La razón exacta "
|
|
"puede haberse perdido en el tiempo. Generalmente, cuando nos referimos al"
|
|
" término \"garlic\", puede puede significar una de estas tres cosas:"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:28
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:39
|
|
msgid "Layered Encryption"
|
|
msgstr "Cifrado por capas"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:29
|
|
msgid "Bundling multiple messages together"
|
|
msgstr "Agrupa varios mensajes juntos"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:30
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:96
|
|
msgid "ElGamal/AES Encryption"
|
|
msgstr "Cifrado ElGamal/AES "
|
|
|
|
#: 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 ""
|
|
"Desafortunadamente, el uso del término \"garlic\" por parte de I2P en los"
|
|
" pasados siete años no ha sido siempre preciso; por lo tanto los usuarios"
|
|
" están avisados para cuando se topen con el término. Esperemos que la "
|
|
"siguiente explicación dejará las cosas más claras."
|
|
|
|
#: 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 ""
|
|
"El enrutado Onion es una técnica para construir caminos, o túneles, a "
|
|
"través de una serie de pares, y después usar ese túnel. . Los mensajes "
|
|
"son repetidamente cifrados por el creador, y después descifrados por cada"
|
|
" salto. Durante la fase de construcción sólo las instrucciones de "
|
|
"enrutado para el siguiente salto son expuestas a cada par. Durante la "
|
|
"fase de operación los mensajes se pasan a través del túnel, y el mensaje "
|
|
"y sus instrucciones de enrutado sólo son mostradas al punto final del "
|
|
"túnel."
|
|
|
|
#: 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 ""
|
|
"Esto es similar a cómo Mixmaster (ver<a "
|
|
"href=\"%(comparisons)s\">comparación entre redes</a>) envía mensajes - "
|
|
"toma un mensaje, lo cifra con la clave pública del destinatario, toma ese"
|
|
" mensaje cifrado y lo cifra (junto con instrucciones indicando el "
|
|
"siguiente salto) de nuevo, y así sucesivamente hasta que tiene una capa "
|
|
"de cifrado por salto a lo largo de todo el camino."
|
|
|
|
#: 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 ""
|
|
"En este senido, \"garlic routing\" como concepto general es idéntico a "
|
|
"\"onion routing\". Aunque tal y como se ha implementado en I2P tiene "
|
|
"varias diferencias con la implementación de Tor; ver más abajo.\n"
|
|
"Aun así, hay similitudes substanciales, como algunas de las que se "
|
|
"beneficia I2P gracias <a href=\"http://www.onion-"
|
|
"router.net/Publications.html\">al gran número de estudios académicos "
|
|
"sobre la onion routing</a>, <a "
|
|
"href=\"http://freehaven.net/anonbib/topic.html\">Tor, y mixnets "
|
|
"similares</a>. "
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:67
|
|
msgid "Bundling Multiple Messages"
|
|
msgstr "Construyendo múltiples mensajes"
|
|
|
|
#: 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 ""
|
|
"Michael Freedman definión \"garlic routing\" como una extensión de onion "
|
|
"routing, en la cual varios mensajes son agrupados juntos. El llamó a cada"
|
|
" mensaje \"bulb, bulbo\". Todos los mensajes, cada uno con sus "
|
|
"instrucciones de envío, son expuestos en el punto final. Esto permite una"
|
|
" agrupación eficiente del \"bloque de respuesta\" de una una ruta onion "
|
|
"con el mensaje original."
|
|
|
|
#: 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 ""
|
|
"Este concepto ha sido implementado en I2p como se describe más abajo.\n"
|
|
"Nuestro término para \"bulbs, bulbos\" garlic es \"cloves, clavos\". "
|
|
"Puede contener cualquier número de mensajes, en vez de un solo mensaje. "
|
|
"Esta es una gran diferencia con la implementación de Tor. Aun así, es "
|
|
"sólo una de las diferencias entre I2P y Tor; quizás por si misma no sea "
|
|
"suficiente para justificar un cambio de terminología."
|
|
|
|
#: 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 ""
|
|
"Otra diferencia con el método descrito por Freedman es que el camino es "
|
|
"unidireccional - no existe un \"punto de retorno\" como en el enrutado "
|
|
"onion o en los bloques de respuesta mixmaster, lo que simplifica mucho el"
|
|
" algoritmo y permite una entrega segura."
|
|
|
|
#: 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 ""
|
|
"En algunos casos el \"cifrado garlic\" simplemente significa cifrado <a "
|
|
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> (sin múltiples capas)."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:105
|
|
msgid "\"Garlic\" Methods in I2P"
|
|
msgstr "Métodos \"Garlic\" en I2P"
|
|
|
|
#: 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 ""
|
|
"Ahora que hemos definido varios términos \"garlic\", podemos decir que "
|
|
"I2P usa rutado garlic, agrupación y cifrado en tres partes:"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:111
|
|
msgid "For building and routing through tunnels (layered encryption)"
|
|
msgstr ""
|
|
"Para la construcción y enrutado a través de los túneles (cifrado por "
|
|
"capas)"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:112
|
|
msgid ""
|
|
"For determining the success or failure of end to end message delivery "
|
|
"(bundling)"
|
|
msgstr ""
|
|
"Para determinar el éxito o fallo del envío de un mensaje de fin a fin "
|
|
"(agrupamiento)"
|
|
|
|
#: 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 ""
|
|
"Para publicar algunas entradas en la base de datos de la red "
|
|
"(amortiguando la posibilidad de un ataque de análisis exitoso) "
|
|
"(ElGamal/AES)"
|
|
|
|
#: 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 ""
|
|
"Hay muchas otras formas de usar esta técnica para mejorar el rendimiento "
|
|
"de la red, aprovechando las compensaciones de la latencia del transporte,"
|
|
" y derivando datos a través de caminos redundantes para incrementar la "
|
|
"seguridad."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:122
|
|
msgid "Tunnel Building and Routing"
|
|
msgstr "Rutado y construcción de los túneles"
|
|
|
|
#: 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 ""
|
|
"En I2P los túneles son unidireccionales. Cada parte construye dos "
|
|
"túneles, uno para el tráfico de salido y otro para el de entrada. Por lo "
|
|
"tanto se necesitan cuatro túneles para una vuelta completa de un mensaje "
|
|
"y su respuesta."
|
|
|
|
#: 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 ""
|
|
"Los túneles son usados y creados con un cifrado por capas. Esto se "
|
|
"describe en <a href=\"%(tunnelimpl)s\">página de implementación delos "
|
|
"túneles</a>. La construcción de los túneles es definida en <a "
|
|
"href=\"%(tunnelcreation)s\">testa página</a>. Para el cifrado usamos <a "
|
|
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> "
|
|
|
|
#: 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 ""
|
|
"Los túneles son un mecanismo de propósito general para transportar todos "
|
|
"los <a href=\"%(i2np)s\">mensajes I2NP</a>, y los <a "
|
|
"href=\"%(i2npspec)s#msg_Garlic\">mensajes Garlic</a> no se usan para "
|
|
"construir túneles. No agrupamos múltiples <a href=\"%(i2np)s\">mensajes "
|
|
"I2NP</a> dentro de un solo <a href=\"%(i2npspec)s#msg_Garlic\">mensaje "
|
|
"Garlic</a> para desenvolver en el punto funal del túnel de salida, el "
|
|
"cifrado del túnel es suficiente. "
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:152
|
|
msgid "End-to-End Message Bundling"
|
|
msgstr "Agrupación de mensajes de fin a fin."
|
|
|
|
#: 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 ""
|
|
"En la capa por encima de los túneles, I2P envía mensajes de fin a fin "
|
|
"entre <a "
|
|
"href=\"%(commonstructures)s#struct_Destination\">destinaciones</a>. "
|
|
"Dentro de un único túnel usamos <a "
|
|
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> para el cifrado. Cada "
|
|
"mensaje cliente enviado al router a través del <a "
|
|
"href=\"%(i2cp)s\">interfaz I2CP</a> se convierte un solo <a "
|
|
"href=\"%(i2npspec)s#struct_GarlicClove\">Garlic Clove</a> con su propias "
|
|
"<a href=\"%(tunnelmessage)s#delivery\">instrucciones de envío</a>, dentro"
|
|
" de un <a href=\"%(i2npspec)s#msg_Garlic\">mensaje Garlic</a>. Las "
|
|
"instrucciones de envío pueden indicar una destinación, un router o un "
|
|
"túnel."
|
|
|
|
#: 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 ""
|
|
"Generalmente, un mensaje Garlic sólo contiene un clavo. Aun así, el ruter"
|
|
" agrupa periódicamente dos clavos adicionales en el mensaje Garlic:"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:177
|
|
msgid "Garlic Message Cloves"
|
|
msgstr "Clavos de mensajes Garlic"
|
|
|
|
#: 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 ""
|
|
"Un <a href=\"%(i2npspec)s#msg_DeliveryStatus\">mensaje de estado de "
|
|
"envío</a> con las <a href=\"%(tunnelmessage)s#delivery\">instrucciones de"
|
|
" envío</a> especificando que se envíe de vuelta al ruter original como "
|
|
"confirmación. Esto es similar al \"reply block, bloque de respuesta\" o "
|
|
"\"reply onion\" descritos en las referencias. Se usa para determinar el "
|
|
"fallo o éxito del envío del mensaje de fin a fin. El ruter original, "
|
|
"tras el fallo de no recibir el mensaje de estado de envío en el tiempo "
|
|
"esperado, puede modificar la ruta a una destinación lejana, o tomar otras"
|
|
" acciones."
|
|
|
|
#: 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 ""
|
|
"Un <a href=\"%(i2npspec)s#msg_DatabaseStore\">mensaje de almacenamiento "
|
|
"de la base de datos</a> con un <a "
|
|
"href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a> para la "
|
|
"destinación original, con <a "
|
|
"href=\"%(tunnelmessage)s#delivery\">instrucciones de envío</a> "
|
|
"especificando el ruter con destinación lejana. Agrupando un LeaseSet "
|
|
"periódicamente, el ruter se asegura de que la destinación lejana será "
|
|
"capaz de mantener las comunicaciones. De otra forma el ruter lejano "
|
|
"tendría que consultar a un ruter floodfill por un registro en la base de "
|
|
"datos , y todos los LeaseSets tendrían que ser publicados en la base de "
|
|
"datos de la red, como se explica en la <a href=\"%(netdb)s\">página de la"
|
|
" base de datos de la red</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:213
|
|
#, python-format
|
|
msgid ""
|
|
"In the current implementation, the Delivery Status and Database Store "
|
|
"Messages\n"
|
|
"are bundled when the local LeaseSet changes, when additional\n"
|
|
"<a href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>\n"
|
|
"are delivered, or if the messages have not been bundled in the previous "
|
|
"minute."
|
|
msgstr ""
|
|
"En la implementación actual, los mensajes de estado de envíos y los "
|
|
"mensajes de almacenamiento de la base de datos son agrupados cuando el "
|
|
"LeaseSet local cambia, cuando se envían <a "
|
|
"href=\"%(commonstructures)s#type_SessionTag\">etiquetas de sesión</a> "
|
|
"adicionales, o si el mensaje no ha sido agrupado en los minutos previos."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:220
|
|
msgid ""
|
|
"Obviously, the additional messages are currently bundled for specific "
|
|
"purposes,\n"
|
|
"and not part of a general-purpose routing scheme."
|
|
msgstr ""
|
|
"Obviamente, los mensajes adicionales son agrupados por un propósito "
|
|
"específico, y no son parte del esquema general de rutado."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:226
|
|
msgid "Storage to the Floodfill Network Database"
|
|
msgstr "Almacenamiento en la base de datos de un FloodFill"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:227
|
|
#, python-format
|
|
msgid ""
|
|
"As explained on the\n"
|
|
"<a href=\"%(netdb)s#delivery\">network database page</a>,\n"
|
|
"local\n"
|
|
"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSets</a>\n"
|
|
"are sent to floodfill routers in a\n"
|
|
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>\n"
|
|
"wrapped in a\n"
|
|
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>\n"
|
|
"so it is not visible to the tunnel's outbound gateway."
|
|
msgstr ""
|
|
"Como se ha explicado en la <a href=\"%(netdb)s#delivery\">página de la "
|
|
"base de datos de la red</a>, los <a "
|
|
"href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSets</a> locales son "
|
|
"enviados a los ruters FloodFill en un <a "
|
|
"href=\"%(i2npspec)s#msg_DatabaseStore\">mensaje de almacenamiento de la "
|
|
"base de datos</a> envuelto en un <a "
|
|
"href=\"%(i2npspec)s#msg_Garlic\">mensaje Garlic</a>, con lo cual no es "
|
|
"visible para la puerta de salida del túnel de salida."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:243
|
|
#, python-format
|
|
msgid ""
|
|
"The Garlic Message mechanism is very flexible and provides a structure "
|
|
"for\n"
|
|
"implementing many types of mixnet delivery methods.\n"
|
|
"Together with the unused delay option in the\n"
|
|
"<a href=\"%(tunnelmessage)s#delivery\">tunnel message Delivery "
|
|
"Instructions</a>,\n"
|
|
"a wide spectrum of batching, delay, mixing, and routing strategies are "
|
|
"possible."
|
|
msgstr ""
|
|
"El mecanismo de los mensajes Garlic es muy flexible y provee una "
|
|
"estructura para implementar muchos tipos de envíos de para mixnets. Junto"
|
|
" con la opción de retardo no usada en las <a "
|
|
"href=\"%(tunnelmessage)s#delivery\">instrucciones de envío del mensaje "
|
|
"del túnel</a>, son posibles una gran cantidad de estrategias de retado, "
|
|
"mezclado, rutado y lotes."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:251
|
|
msgid ""
|
|
"In particular, there is potential for much more flexibility at the "
|
|
"outbound tunnel endpoint.\n"
|
|
"Messages could possibly be routed from there to one of several tunnels\n"
|
|
"(thus minimizing point-to-point connections), or multicast to several "
|
|
"tunnels\n"
|
|
"for redundancy, or streaming audio and video."
|
|
msgstr ""
|
|
"En particular, hay potencial para mucha más flexibilidad en el punto "
|
|
"final del túnel de salida. Los mensajes podrían ser rutados desde ahí a "
|
|
"uno o varios túneles (con lo cual se minimizarían las conexiones de punto"
|
|
" a punto), o enviar a varios túneles para hacerlo redundante, o hacer "
|
|
"streming de audio o vídeo."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:258
|
|
msgid ""
|
|
"Such experiments may conflict with the need to ensure security and "
|
|
"anonymity, such\n"
|
|
"as limiting certain routing paths, restricting the types of I2NP messages"
|
|
" that may\n"
|
|
"be forwarded along various paths, and enforcing certain message "
|
|
"expiration times."
|
|
msgstr ""
|
|
"Estos experimentos pudrían entrar en conflicto con la necesidad de "
|
|
"seguridad y anonimato, ya sea limitando ciertos caminos de enrutado, "
|
|
"restringiendo los mensajes I2NP que puedan ser enviados a través de "
|
|
"varios caminos, e imponiendo ciertos tiempos de espiración a los "
|
|
"mensajes."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:264
|
|
#, python-format
|
|
msgid ""
|
|
"As a part of\n"
|
|
"<a href=\"%(elgamalaes)s\">ElGamal/AES encryption</a>,\n"
|
|
"a garlic message contains a sender\n"
|
|
"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 ""
|
|
"Como parte de un <a href=\"%(elgamalaes)s\">cifrado ElGamal/AES</a>, un "
|
|
"mensaje Garlic contiene una cantidad especificada de datos de relleno, "
|
|
"que permiten al transmisor tomar ciertas contramedidas activas contra el "
|
|
"análisis de tráfico. Esto no se usa actualmente, mas allá de la necesidad"
|
|
" de rellenar a un múltiplo de 16 bytes."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:273
|
|
#, python-format
|
|
msgid ""
|
|
"Encryption of additional messages to and from the\n"
|
|
"<a href=\"%(netdb)s#delivery\">floodfill routers</a>."
|
|
msgstr ""
|
|
"El cifrado de mensajes adicionales hacia y desde los <a "
|
|
"href=\"%(netdb)s#delivery\">ruters floodfill</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:283
|
|
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 ""
|
|
"El término de garlic routing, rutado de ajo, fue acuñado en la <a "
|
|
"href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> en Free"
|
|
" Haven de Roger Dingledine (June 2000), ver sección 8.1.1 de <a "
|
|
"href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:290
|
|
msgid "Onion router publications"
|
|
msgstr "Publicaciones sobre ruter Onion"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:292
|
|
msgid "Onion Routing on Wikipedia"
|
|
msgstr "Rutado Onion en la Wikipedia"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:294
|
|
msgid "Garlic Routing on Wikipedia"
|
|
msgstr "Rutado Garlic en la Wikipedia"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:296
|
|
#, python-format
|
|
msgid ""
|
|
"<a href=\"%(meeting58)s\">I2P Meeting 58</a> (2003) discussing the "
|
|
"implementation of garlic routing"
|
|
msgstr ""
|
|
"<a href=\"%(meeting58)s\">Reunión 58 de I2P</a> (2003) discutiendo la "
|
|
"implementación del rutado Garlic"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:302
|
|
msgid "Free Haven publications"
|
|
msgstr "Publicaciones en Free Heaven"
|
|
|
|
#: i2p2www/pages/site/docs/how/garlic-routing.html:304
|
|
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 ""
|
|
"El rutado Onion fue descrito por primera vez en 1996 por David M. "
|
|
"Goldschlag, Michael G. Reed, and Paul F. Syverson en <a href=\"http://www"
|
|
".onion-router.net/Publications/IH-1996.pdf\">Hiding Routing "
|
|
"Information</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:2
|
|
msgid "A Gentle Introduction"
|
|
msgstr "Una Introducción Sencilla"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:5
|
|
msgid "A Gentle Introduction to How I2P Works"
|
|
msgstr "Una breve introducción de cómo funciona I2P"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:7
|
|
msgid ""
|
|
"I2P is a project to build, deploy, and maintain a network supporting "
|
|
"secure and anonymous\n"
|
|
"communication. People using I2P are in control of the tradeoffs between "
|
|
"anonymity, reliability,\n"
|
|
"bandwidth usage, and latency. There is no central point in the network on"
|
|
" which pressure can be\n"
|
|
"exerted to compromise the integrity, security, or anonymity of the "
|
|
"system. The network supports\n"
|
|
"dynamic reconfiguration in response to various attacks, and has been "
|
|
"designed to make use of\n"
|
|
"additional resources as they become available. Of course, all aspects of "
|
|
"the network are open and\n"
|
|
"freely available."
|
|
msgstr ""
|
|
"I2P es un proyecto para construir, desplegar y mantener una red que "
|
|
"soporte comunicación segura y anónima. Los usuarios de I2P pueden "
|
|
"administrar el balance entre el anonimato, fiabilidad, uso de ancho de "
|
|
"banda y latencia. No hay un punto central en la red sobre el cual se "
|
|
"pueda ejercer presión para comprometer la integridad, seguridad y "
|
|
"anonimato del sistema. La red soporta reconfiguración dinámica en "
|
|
"respuesta a diversos ataques, y ha sido diseñada para hacer uso de "
|
|
"recursos adicionales según vayan estando disponibles. Por supuesto, todos"
|
|
" los aspectos de la red son abiertos y están a libre disposición."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:17
|
|
msgid ""
|
|
"Unlike many other anonymizing networks, I2P doesn't try to provide "
|
|
"anonymity by hiding the\n"
|
|
"originator of some communication and not the recipient, or the other way "
|
|
"around. I2P is designed to\n"
|
|
"allow peers using I2P to communicate with each other anonymously — "
|
|
"both sender and recipient\n"
|
|
"are unidentifiable to each other as well as to third parties. For "
|
|
"example, today there are both\n"
|
|
"in-I2P web sites (allowing anonymous publishing / hosting) as well as "
|
|
"HTTP proxies to the normal web\n"
|
|
"(allowing anonymous web browsing). Having the ability to run servers "
|
|
"within I2P is essential, as it\n"
|
|
"is quite likely that any outbound proxies to the normal Internet will be "
|
|
"monitored, disabled, or\n"
|
|
"even taken over to attempt more malicious attacks."
|
|
msgstr ""
|
|
"A diferencia de la mayoría de las redes anónimas, I2P no intenta "
|
|
"suministrar anonimato ocultándole sí al origen de una comunicación y no "
|
|
"al destinatario, o vice versa. De lo contrario: I2P está diseñada para "
|
|
"permitir a los pares comunicarse unos con otros anónimamente - ambos, "
|
|
"quien envía y quien recibe, no son identificables entre ellos y tampoco "
|
|
"por terceras partes. Por ejemplo, actualmente hay sitios web I2P internos"
|
|
" (permitiendo publicación y hospedaje anónimo) además de proxies HTTP "
|
|
"hacia la web normal (permitiendo navegación anónima). Disponer de la "
|
|
"posibilidad de correr servidores internamente en I2p es esencial, ya que"
|
|
" es bastante probable que cualquier proxy de salida hacia la Internet "
|
|
"normal pudiera ser monitorizado, desactivado o comprometido con el "
|
|
"intento de ataques más maliciosos."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:28
|
|
#, python-format
|
|
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 ""
|
|
"La red es en sí misma orientada a mensajes - es en esencia una capa IP "
|
|
"segura y anónima donde los mensajes son direccionados hacia claves "
|
|
"criptográficas (Destinos) y pueden ser considerablemente más largos que "
|
|
"los paquetes IP. Algunos ejemplos del uso de la red incluyen \"eepsites\""
|
|
" (servidores web hospedando aplicaciones web normales dentro de I2P), un"
|
|
" cliente BitTorrent (\"I2PSnark\"), o un sistema de almacenaje de datos "
|
|
"distribuido. Con la ayuda de la aplicación <a href=\"%(i2ptunnel)s\"> "
|
|
"I2PTunnel</a>, somos capaces de correr aplicaciones TCP/IP tradicionales "
|
|
"sobre I2P, como SSH, IRC, un proxy Squid, e igualmente streaming de "
|
|
"audio. Mucha gente no usará I2P directamente, o mismamente no necesitarán"
|
|
" saber que lo están usando. En vez de eso, su percepción será la de una "
|
|
"de las aplicaciones I2P habilitadas, o quizá la de una pequeña aplicación"
|
|
" de control para activar y desactivar varios proxies que permitan "
|
|
"funcionalidades de anonimato."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:40
|
|
#, python-format
|
|
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 ""
|
|
"Una parte esencial de diseñar, desarrollar y probar una red anónima es "
|
|
"definir el <a href=\"%(threatmodel)s\">modelo de amenaza</a>, si partimos"
|
|
" de que no existe lo que podría ser considerado anonimato auténtico, "
|
|
"solamente se puede hacer más costoso el identificar a alguien. "
|
|
"Brevemente, el propósito de I2P es permitir comunicarse a la gente en "
|
|
"ambientes arbitrariamente hostiles suministrando buen anonimato, mezclado"
|
|
" con suficiente tráfico de cobertura proporcionado por la actividad de "
|
|
"gente que requiere menos anonimato. De esta forma algunos usuarios pueden"
|
|
" evitar ser detectados por poderosos adversarios, mientras otros "
|
|
"intentarán ocultar su identidad de forma más débil, <i>todo en la misma "
|
|
"red</i>, donde los mensajes de cada uno son esencialmente indistinguibles"
|
|
" de los del resto."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:51
|
|
msgid "Why?"
|
|
msgstr "¿Por qué?"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:52
|
|
#, python-format
|
|
msgid ""
|
|
"There are a multitude of reasons why we need a system to support "
|
|
"anonymous communication, and\n"
|
|
"everyone has their own personal rationale. There are many <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 ""
|
|
"Hay múltiples razones por las que necesitamos un sistema que soporte "
|
|
"comunicaciones anónimas, y \n"
|
|
"además cada uno tiene si propias razones. Hay muchos a "
|
|
"href=\"%(comparisons)s\">otros\n"
|
|
"proyectos</a> en Internet trabajando para encontrar formas de ofrecer "
|
|
"varios niveles de anonimato para la gente,\n"
|
|
"pero no habíamos encontrado ninguno que cumpliera nuestras necesidades o "
|
|
"el modelo de amenazas."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:59
|
|
msgid "How?"
|
|
msgstr "¿Cómo?"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:61
|
|
#, python-format
|
|
msgid ""
|
|
"The network at a glance is made up of a set of nodes (\"routers\") with a"
|
|
" number of unidirectional\n"
|
|
"inbound and outbound virtual paths (\"tunnels\", as outlined on the <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 ""
|
|
"Un vistazo a la red muestra que se compone de una instalación de nodos "
|
|
"(\"ruters\") con un número de rutas virtuales unidireccionales entrantes "
|
|
"y salientes (Túneles, como se describen en la página <a "
|
|
"href=\"%(tunnelrouting)s\">tunnel routing</a>). Cada ruter está "
|
|
"identificado por una RouterIdentity cifrada que es e normalmente "
|
|
"permanente. Estos ruters se comunican entre ellos a través de mecanismo "
|
|
"de transporte existentes (TCP, UDP, etc) enviándose distintos mensajes. "
|
|
"Las aplicaciones clientes tienen su propio identificador criptográfico "
|
|
"(\"Destino\") que las habilita para enviar y recibir mensajes. Estos "
|
|
"clientes pueden conectarse a cualquier ruter y autorizar la asignación "
|
|
"temporal (\"arrendamiento\") de varios túneles que serán usados para "
|
|
"enviar y recibir mensaje a través de la red. I2P tiene su propia <a "
|
|
"href=\"%(netdb)s\">base de datos de red</a> (utilizando una modificación "
|
|
"del algoritmo Kadeemlia) para distribuir información de\n"
|
|
"rutas y contactos de forma segura."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:74
|
|
msgid "Network topology example"
|
|
msgstr "Ejemplo de topología de red"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:76
|
|
msgid ""
|
|
"In the above, Alice, Bob, Charlie, and Dave are all running routers with "
|
|
"a single Destination on\n"
|
|
"their local router. They each have a pair of 2-hop inbound tunnels per "
|
|
"destination (labeled 1, 2, 3,\n"
|
|
"4, 5 and 6), and a small subset of each of those router's outbound tunnel"
|
|
" pool is shown with 2-hop\n"
|
|
"outbound tunnels. For simplicity, Charlie's inbound tunnels and Dave's "
|
|
"outbound tunnels are not\n"
|
|
"shown, nor are the rest of each router's outbound tunnel pool (typically "
|
|
"stocked with a few tunnels\n"
|
|
"at a time). When Alice and Bob talk to each other, Alice sends a message "
|
|
"out one of her (pink)\n"
|
|
"outbound tunnels targeting one of Bob's (green) inbound tunnels (tunnel 3"
|
|
" or 4). She knows to send\n"
|
|
"to those tunnels on the correct router by querying the network database, "
|
|
"which is constantly updated\n"
|
|
"as new leases are authorized and old ones expire."
|
|
msgstr ""
|
|
"En la imagen, Alice, Bob, Charlie and Dave están corriendo ruters con una"
|
|
" simple Destinación en su ruter local. Cada uno de ellos tiene un par de "
|
|
"túneles de dos saltos entrantes por destino (etiquetados como 1, 2, 3, 4,"
|
|
" 5 y 6), y una pequeña parte del grupo de los túneles de salida de esos "
|
|
"ruters se representa con túneles de salida de dos saltos. Para "
|
|
"simplificar, los túneles entrantes de Charlie y los de salida de Dave no "
|
|
"se muestran, tampoco está el resto del grupo de túneles de salida de cada"
|
|
" ruter (típicamente compuesto por varios túneles a la vez). Cuando Alice "
|
|
"y Bob se comunican entre ellos, Alice envía un mensaje por uno de sus "
|
|
"túneles de salida (rosa) en dirección a uno de los túneles entrantes "
|
|
"(verde) de Bob (túnel 3 o 4). Ella sabe cómo enviar a los túneles del "
|
|
"ruter correcto mediante consultas a la base de datos de red, que está\n"
|
|
"constantemente actualizándose tan pronto cómo son autorizados nuevos "
|
|
"contactos y expiran los viejos."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:88
|
|
#, python-format
|
|
msgid ""
|
|
"If Bob wants to reply to Alice, he simply goes through the same process -"
|
|
" send a message out one of\n"
|
|
"his outbound tunnels targeting one of Alice's inbound tunnels (tunnel 1 "
|
|
"or 2). To make things\n"
|
|
"easier, most messages sent between Alice and Bob are <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 quiere contestar a Alice, simplemente utilizará el mismo proceso -"
|
|
" envía un mensaje por uno de sus túneles de salida en dirección hacia uno"
|
|
" de los túneles de entrada de Alice (túnel 1 o 2). Para hacer las cosas "
|
|
"más sencillas, la mayor parte de los mensajes enviados entre Alice y Bob "
|
|
"usan el envoltorio <a href=\"%(garlicrouting)s\">de ajo, garlic</a>, "
|
|
"incluyendo la información de arrendamiento propia del remitente en el "
|
|
"paquete, de esta forma el destinatario puede contestar inmediatamente sin"
|
|
" necesidad de buscar el dato en su base de datos de red."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:96
|
|
#, python-format
|
|
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 ""
|
|
"Para tratar con un amplio rango de ataques, I2P es completamente "
|
|
"distribuida sin recursos centralizados - no hay servidores manteniendo "
|
|
"estadísticas sobre el rendimiento y fiabilidad de los ruters dentro de la"
|
|
" red. De esta forma cada ruter debe guardar y mantener los perfiles de "
|
|
"varios ruters y es responsable de seleccionar los pares apropiados para "
|
|
"satisfacer el anonimato, rendimiento y fiabilidad requeridos por los "
|
|
"usuarios tal y como se describe en la página de<a "
|
|
"href=\"%(peerselection)s\">selección de pares</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:105
|
|
#, 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 ""
|
|
"La red hace uso de un gran número de <a "
|
|
"href=\"%(cryptography)s\">técnicas criptográficas y algoritmos</a> - una "
|
|
"lista completa incluye el cifrado El Gamal de 2048 bits, AES de 256 bits "
|
|
"en modo CBC con relleno PKCS#5, firmas DSA de 1024 bits, hashes SHA256, "
|
|
"negociación de conexiones Diffie-Hellman de 2048 bits con autenticación "
|
|
"estación a estación y <a href=\"%(elgamalaes)s\"> ElGamal / "
|
|
"AES+SessionTag</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:113
|
|
msgid ""
|
|
"Content sent over I2P is encrypted through three layers garlic encryption"
|
|
" (used to verify the\n"
|
|
"delivery of the message to the recipient), tunnel encryption (all "
|
|
"messages passing through a tunnel\n"
|
|
"is encrypted by the tunnel gateway to the tunnel endpoint), and inter "
|
|
"router transport layer\n"
|
|
"encryption (e.g. the TCP transport uses AES256 with ephemeral keys)."
|
|
msgstr ""
|
|
"El contenido enviado sobre I2P está cifrado a través del cifrado garlic "
|
|
"de tres capas (usado para verificar la entrega del mensaje a "
|
|
"destinatario), cifrado de túnel (todos los mensajes cruzando a través de "
|
|
"un túnel están cifrados desde el túnel de salida hasta el túnel de "
|
|
"destino final) y cifrado de la capa de transporte inter-router (e. g. el "
|
|
"transporte TCP usa AES256 con claves efímeras)."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:120
|
|
msgid ""
|
|
"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 ""
|
|
"El cifrado (I2CP) punto a punto (aplicación cliente hacia aplicación "
|
|
"servidor) fue deshabilitado en la versión 0.6 de I2P; el cifrado (garlic)"
|
|
" punto a punto (ruter cliente I2P hacia ruter servidor I2P) desde el "
|
|
"ruter de Alice \"a\" hasta el ruter de Bob \"h\" aún permanece. ¡Observe "
|
|
"el uso diferente de los términos! Todos los datos desde \"a\" hasta "
|
|
"\"h\" están cifrados punto a punto, pero las conexiones I2CP entre el "
|
|
"ruter I2P y las aplicaciones no son cifradas punto a punto. \"A\" y \"h\""
|
|
" son los ruters de Alice y Bob, mientras que, y siguiendo el diagrama, "
|
|
"Alice y Bob son las aplicaciones corriendo sobre I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:129
|
|
msgid "End to end layered encryption"
|
|
msgstr "Cifrado por capas de punto a punto"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:131
|
|
#, python-format
|
|
msgid ""
|
|
"The specific use of these algorithms are outlined <a "
|
|
"href=\"%(cryptography)s\">elsewhere</a>."
|
|
msgstr ""
|
|
"El uso específico de estos algoritmos está descrito en <a "
|
|
"href=\"%(cryptography)s\">otra parte</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:135
|
|
msgid ""
|
|
"The two main mechanisms for allowing people who need strong anonymity to "
|
|
"use the network are\n"
|
|
"explicitly delayed garlic routed messages and more comprehensive tunnels "
|
|
"to include support for\n"
|
|
"pooling and mixing messages. These are currently planned for release 3.0,"
|
|
" but garlic routed messages\n"
|
|
"with no delays and FIFO tunnels are currently in place. Additionally, the"
|
|
" 2.0 release will allow\n"
|
|
"people to set up and operate behind restricted routes (perhaps with "
|
|
"trusted peers), as well as the\n"
|
|
"deployment of more flexible and anonymous transports."
|
|
msgstr ""
|
|
"Los dos mecanismos principales que permiten usar la red a gente que "
|
|
"necesita un fuerte anonimato son explícitamente mensajes enrutados garlic"
|
|
" con retardo y túneles más completos que incluyan agrupamiento y mezcla "
|
|
"de mensajes. Estos están actualmente planeados para la release 3.0, pero "
|
|
"los mensajes enrutados garlic sin retardo y túneles FIFO están ya "
|
|
"implementados. Adicionalmente la versión 2.0 permitirá a los usuarios "
|
|
"establecerse y operar detrás de ruters restrictivos (puede que con pares "
|
|
"de confianza), así como el despliegue de transportes más flexibles y "
|
|
"anónimos."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:144
|
|
#, python-format
|
|
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 ""
|
|
"Han surgido algunas preguntas referentes a la escalabilidad de I2P. Habrá"
|
|
" ciertamente más análisis con el tiempo, pero la búsqueda e integración "
|
|
"de pares debería ser limitado por <code>O(log(N))</code> debido al "
|
|
"algoritmo de <a href=\"%(netdb)s\">base de datos de red</a>, mientras que"
|
|
" los mensajes punto a punto serían <code>O(1)</code> (escala libre), "
|
|
"puesto que los mensajes pasan por K saltos a través del túnel de salida y"
|
|
" otros K saltos por el túnel de entrada, donde K no es mayor de 3. El "
|
|
"tamaño de la red (N) no acarrea impacto."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:153
|
|
msgid "When?"
|
|
msgstr "¿Cuándo?"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:154
|
|
#, 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 comenzó inicialmente en 2003 como una propuesta de modificar\n"
|
|
"<a href=\"http://freenetproject.org\">Freenet</a> para permitir el uso de"
|
|
" transportes alternativos, como puede ser <a⏎\n"
|
|
"href=\"%(jms)s\">JMS</a> , después\n"
|
|
"se desarrolló con identidad propia como una 'anonCommFramework' en Abril "
|
|
"de 2003,\n"
|
|
"convirtiéndose en I2P en Julio y comenzando a escribir código seriamente "
|
|
"en Agosto de 2003.\n"
|
|
"I2P está actualmente bajo desarrollo siguendo la <a "
|
|
"href=\"%(roadmap)s\">hoja de ruta</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:164
|
|
msgid "Who?"
|
|
msgstr "¿Quiénes?"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:165
|
|
#, 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 ""
|
|
"Tenemos un pequeño <a href=\"%(team)s\">equipo</a> desperdigado por "
|
|
"varios continentes y trabajando en el avance de diferentes aspectos del "
|
|
"proyecto. Estamos abiertos a otros desarrolladores que deseen "
|
|
"involucrarse en el proyecto, y a cualquier otra persona que quiera "
|
|
"contribuir de cualquier forma, como críticas, revisión de pares, pruebas,"
|
|
" programación de aplicaciones compatibles I2P, o documentación. El "
|
|
"sistema completo es código abierto - el ruter y la mayor parte del SDK "
|
|
"tienen licencia de dominio público con algo de código licenciado con BSD "
|
|
"y Cryptix, mientras que aplicaciones como I2PTunnel e I2PSnark son GPL. "
|
|
"Casi todo está escrito en Java (1.5+), aunque algunas aplicaciones de "
|
|
"terceros están siendo escritas en Python u otros lenguajes. El código "
|
|
"funciona en <a href=\"http://java.com/en/\">Sun Java SE</a>\n"
|
|
"y otras máquinas virtuales Java."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:176
|
|
msgid "Where?"
|
|
msgstr "¿Dónde?"
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:177
|
|
#, python-format
|
|
msgid ""
|
|
"Anyone interested should join us on the IRC channel #i2p (hosted "
|
|
"concurrently on irc.freenode.net,\n"
|
|
"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p and "
|
|
"irc.einirc.de). There are currently no\n"
|
|
"scheduled development meetings, however <a href=\"%(meetings)s\">archives"
|
|
" are available</a>."
|
|
msgstr ""
|
|
"Cualquiera interesado puede unirse a nosotros en el canal IRC #i2p "
|
|
"(hospedado concurrentemente en irc.freenode.net, irc.postman.i2p, "
|
|
"irc.freshcoffee.i2p, irc.welterde.i2p e irc.einirc.de). Actualmente no "
|
|
"hay agenda de encuentros de desarrollo, no obstante hay <a "
|
|
"href=\"%(meetings)s\">archivos disponibles</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:183
|
|
#, python-format
|
|
msgid "The current source is available in <a href=\"%(monotone)s\">monotone</a>."
|
|
msgstr "El código actual está disponible en <a href=\"%(monotone)s\">monotone</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/intro.html:188
|
|
#, python-format
|
|
msgid "See <a href=\"%(docs)s\">the Index to Technical Documentation</a>."
|
|
msgstr "Vea <a href=\"%(docs)s\">el índice de la documentacón técnica</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:2
|
|
msgid "The Network Database"
|
|
msgstr "La base de datos de la red"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:3
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:3
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:3
|
|
msgid "June 2013"
|
|
msgstr "Junio de 2013"
|
|
|
|
#: 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 ""
|
|
"La netDb de I2P es una base de datos distribuida especializada que "
|
|
"contiene 2 tipos de datos - información de contacto del ruter "
|
|
"(class=\"marksource tag\"><b>RouterInfosclass=\"marksource tag\"></b>) y "
|
|
"la información de contacto de la destinación (class=\"marksource "
|
|
"tag\"><b>LeaseSetsclass=\"marksource tag\"></b>). Cada parte de los datos"
|
|
" es firmada por la parte apropiada y verificada por cualquiera que las "
|
|
"use o las almacene. Además, los datos tienen información cambiante, "
|
|
"permitiendo que las entradas irrelevantes sean desechadas, que nuevas "
|
|
"entradas puedan reemplazar las antiguas y protección contra cierto tipos "
|
|
"de ataques."
|
|
|
|
#: 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 ""
|
|
"La netDb se distribuye con una técnica simple llamada \"FloodFill\", "
|
|
"donde un subconjunto de ruters, llamados ruters \"floodfill\", mantienen "
|
|
"la base de datos distribuida."
|
|
|
|
#: 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 ""
|
|
"Cuando un ruter I2P quiere contactar con otro ruter, necesitan conocer "
|
|
"algunas partes claves de los datos - estas partes están agrupadas y "
|
|
"firmadas por el ruter dentro de una estructura llamda \"RouterInfo\", que"
|
|
" es distribuida con el hash SHA256 de la identidad del ruter como una "
|
|
"clave de cifrado. La estructura en sí misma contiene:"
|
|
|
|
#: 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 ""
|
|
"La identidad del ruter (una calve de cifrado ElGamal de 2048 bits, una "
|
|
"clave de firmado DSA de 1024 bits y un certificado)"
|
|
|
|
#: 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 ""
|
|
"La dirección de contacto en la que puede ser accedida (por ejemplo TCP: "
|
|
"example.org puerto 4108)"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:34
|
|
msgid "When this was published"
|
|
msgstr "Cuándo fue publicada."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:35
|
|
msgid "A set of arbitrary text options"
|
|
msgstr "Un conjunto de opciones de texto arbitrarias"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:36
|
|
msgid "The signature of the above, generated by the identity's DSA signing key"
|
|
msgstr ""
|
|
"La firma de todo lo anterior, generada por clave de firma DSA de la "
|
|
"identidad."
|
|
|
|
#: 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 ""
|
|
"Las siguientes opciones de texto, que aunque no son requeridas "
|
|
"explicitamente se espera que esten presentes:"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:45
|
|
msgid ""
|
|
"Capabilities flags - used to indicate floodfill participation, "
|
|
"approximate bandwidth, and perceived reachability"
|
|
msgstr ""
|
|
"Datos de capacidad - usados para indicar si se participa como floodfill, "
|
|
"ancho de banda aproximado y la accesibilidad observada."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:48
|
|
msgid "The core library version, always the same as the router version"
|
|
msgstr ""
|
|
"La versión de la librería del núcleo, siempre la misma que la versión del"
|
|
" ruter"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:51
|
|
msgid ""
|
|
"Basic network compatibility - A router will refuse to communicate with a "
|
|
"peer having a different netId"
|
|
msgstr ""
|
|
"Compatibilidad básica de la red - Un ruter no se comunicará con un par "
|
|
"que tenga un netld diferente"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:54
|
|
msgid "Used to determine compatibility with newer features and messages"
|
|
msgstr ""
|
|
"Se utiliza para determinar la compatibilidad con las nuevas "
|
|
"características y mensajes."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:57
|
|
msgid ""
|
|
"Always sent as 90m, for compatibility with an older scheme where routers "
|
|
"published their actual uptime,\n"
|
|
"and only sent tunnel requests to peers whose was more than 60m"
|
|
msgstr ""
|
|
"Siempre a 90 min, para mantener la compatibilidad con el viejo esquema "
|
|
"donde los ruters publican su tiempo encendidos actual, y sólo envían "
|
|
"peticiones de túneles a pares con mas de 60 min."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:62
|
|
msgid ""
|
|
"These values are used by other routers for basic decisions.\n"
|
|
"Should we connect to this router? Should we attempt to route a tunnel "
|
|
"through this router?\n"
|
|
"The bandwidth capability flag, in particular, is used only to determine "
|
|
"whether\n"
|
|
"the router meets a minimum threshold for routing tunnels.\n"
|
|
"Above the minimum threshold, the advertised bandwidth is not used or "
|
|
"trusted anywhere\n"
|
|
"in the router, except for display in the user interface and for debugging"
|
|
" and network analysis."
|
|
msgstr ""
|
|
"Estos valores pueden ser usados por otros ruters para tomar decisiones "
|
|
"básicas. ¿Deberíamos conectar con este ruter? ¿Deberíamos intentar rutar "
|
|
"un túnel a través de ese ruter?\n"
|
|
"En particular, la opción de la capacidad de ancho de banda sólo se usa "
|
|
"para determinar cuando el ruter cumple un umbral para poder rutar "
|
|
"túneles. Por encima del umbral mínimo el ancho de banda anunciado no es "
|
|
"usado o confiable en ningún sitio del ruter, excepto para mostrar en el "
|
|
"interfaz del usuario para depurar y para el análisis de tráfico."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:72
|
|
#, 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 ""
|
|
"La opciones de texto adicionales incluyen un pequeño número de "
|
|
"estadísticas sobre la salud de los ruters, que son añadidos por las webs "
|
|
"como <a href=\"http://%(stats)s/\">%(stats)s</a>, estadísticas, para el "
|
|
"análisis del rendimiento de la red y su depuración. Estas estadísticas "
|
|
"fueron elegidas para proporcionar datos importantes a los "
|
|
"desarrolladores, como la tasa de éxito al construir los túneles, mientras"
|
|
" se hace un balanceo de los posibles daños causados por la revelación de "
|
|
"estos datos y necesidad de obtenerlos. Estas estadísticas están limitadas"
|
|
" a:"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:83
|
|
msgid "Client and exploratory tunnel build success, reject, and timeout rates"
|
|
msgstr ""
|
|
"Éxito en la creación de túneles clientes y exploratorios, denegaciones, y"
|
|
" valores de timeout."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:84
|
|
msgid "1 hour average number of participating tunnels"
|
|
msgstr "Media del número de túneles participantes en 1 hora"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:87
|
|
msgid ""
|
|
"The data published can be seen in the router's user interface,\n"
|
|
"but is not used or trusted within the router.\n"
|
|
"As the network has matured, we have gradually removed most of the "
|
|
"published\n"
|
|
"statistics to improve anonymity, and we plan to remove more in future "
|
|
"releases."
|
|
msgstr ""
|
|
"Los datos publicados pueden verse en en interfaz del ruter,, pero el "
|
|
"ruter no los usa ni confía en ellos. Según madura la red, hemos eliminado"
|
|
" la mayoría de las estadísticas publicadas para mejorar el anonimato, y "
|
|
"tenemos planeado eliminar más en las próximas versiones."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:95
|
|
msgid "RouterInfo specification"
|
|
msgstr "Especifiaciones de RouterInfo"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:98
|
|
msgid "RouterInfo Javadoc"
|
|
msgstr "Javadoc de RouterInfo"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:101
|
|
msgid "RouterInfo Expiration"
|
|
msgstr "Caducidad de RouterInfo"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:102
|
|
msgid ""
|
|
"RouterInfos have no set expiration time.\n"
|
|
"Each router is free to maintain its own local policy to trade off the "
|
|
"frequency of RouterInfo lookups\n"
|
|
"with memory or disk usage.\n"
|
|
"In the current implementation, there are the following general policies:"
|
|
msgstr ""
|
|
"RouterInfo no tienen tiempo de caducidad. Cada ruter puede mantener su "
|
|
"propia política local a la hora de controlar la frecuencia de las "
|
|
"búsquedas de RouterInfo y el uso de memoria y espacio en le disco. En la "
|
|
"implementación actual, estas son las políticas generales:"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:109
|
|
msgid ""
|
|
"There is no expiration during the first hour of uptime, as the persistent"
|
|
" stored data may be old."
|
|
msgstr ""
|
|
"No existe vencimiento durante la primera hora encendido, ya que los datos"
|
|
" almacenados podrían ser viejos."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:112
|
|
msgid "There is no expiration if there are 25 or less RouterInfos."
|
|
msgstr "No existe vencimiento si hay 25 o menos menos routerInfos"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:115
|
|
msgid ""
|
|
"As the number of local RouterInfos grows, the expiration time shrinks, in"
|
|
" an attempt to maintain\n"
|
|
"a reasonable number RouterInfos. The expiration time with less than 120 "
|
|
"routers is 72 hours,\n"
|
|
"while expiration time with 300 routers is around 30 hours."
|
|
msgstr ""
|
|
"Según aumenta el número de RouterInfos, el tiempo de espiración "
|
|
"disminuye, en el intento de mantener un número razonable de RouterInfos ."
|
|
" El número de espiración con menos de 120 ruters es de 72 horas, mientras"
|
|
" que el tiempo de caducidad con 300 ruters es de 30 horas."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:120
|
|
#, 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 ""
|
|
"Los RoutersInfos que contienen introductores <a href=\"%(ssu)s\">SSU</a> "
|
|
"expiran en 1 hora más o menos, ya que la lista del introductor expiran en"
|
|
" ese mismo tiempo."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:124
|
|
msgid ""
|
|
"Floodfills use a short expiration time (1 hour) for all local "
|
|
"RouterInfos, as valid RouterInfos will\n"
|
|
"be frequently republished to them."
|
|
msgstr ""
|
|
"Los FloodFills tienen un tiempo de expiración corto (1 hora) para todos "
|
|
"los RoutersInfos locales, ya que como RoutersInfos válidos serán re "
|
|
"publicados."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:130
|
|
msgid "RouterInfo Persistent Storage"
|
|
msgstr "Almacenamiento persistente de RouterInfo"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:132
|
|
msgid ""
|
|
"RouterInfos are periodically written to disk so that they are available "
|
|
"after a restart."
|
|
msgstr ""
|
|
"Los RoutersInfos son periodicamente escritos en el disco duro para que "
|
|
"estén disponibles después de reiniciar."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:139
|
|
msgid ""
|
|
"The second piece of data distributed in the netDb is a \"LeaseSet\" - "
|
|
"documenting\n"
|
|
"a group of <b>tunnel entry points (leases)</b> for a particular client "
|
|
"destination.\n"
|
|
"Each of these leases specify the following information:"
|
|
msgstr ""
|
|
"La segunda parte de los datos distribuidos en la netDb es un \"LeaseSet\""
|
|
" - el cual documenta un conjunto de <b>puntos de entradas de túnel "
|
|
"(leaseso contratos)</b> para una destinación de un cliente en "
|
|
"particular. Cada uno de estos leases especifica la siguiente información:"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:145
|
|
msgid "The tunnel gateway router (by specifying its identity)"
|
|
msgstr "La puerta de salida de túnel del ruter (especificando su identidad)"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:146
|
|
msgid "The tunnel ID on that router to send messages with (a 4 byte number)"
|
|
msgstr "El ID del túnel con los que el túnel envía mensajes (un número de 4 bytes)"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:147
|
|
msgid "When that tunnel will expire."
|
|
msgstr "Cuando expirará ese túnel."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:149
|
|
msgid ""
|
|
"The LeaseSet itself is stored in the netDb under\n"
|
|
"the key derived from the SHA256 of the destination."
|
|
msgstr ""
|
|
"El propio LeaseSet es almacenado en la netDb bajo la clave derivada del "
|
|
"hash SHA256 de la destinación."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:154
|
|
msgid "In addition to these leases, the LeaseSet includes:"
|
|
msgstr "Además de estos leases, el LeaseSet incluye:"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:158
|
|
msgid ""
|
|
"The destination itself (a 2048bit ElGamal encryption key, 1024bit DSA "
|
|
"signing key and a certificate)"
|
|
msgstr ""
|
|
"La destinación en sí misma (una clave de 2048 bits ElGamal, una clave de "
|
|
"firmado DSA de 1024 bits y un certificado)"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:159
|
|
msgid ""
|
|
"Additional encryption public key: used for end-to-end encryption of "
|
|
"garlic messages"
|
|
msgstr ""
|
|
"Una clave pública de cifrado adicional: usada para el cifrado de fin a "
|
|
"fin de los mensajes garlic"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:160
|
|
msgid ""
|
|
"Additional signing public key: intended for LeaseSet revocation, but is "
|
|
"currently unused."
|
|
msgstr ""
|
|
"Una clave de firma pública adicional: para la revocación del LeaseSet, "
|
|
"pero actualmente no se usa."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:161
|
|
msgid ""
|
|
"Signature of all the LeaseSet data, to make sure the Destination "
|
|
"published the LeaseSet."
|
|
msgstr ""
|
|
"La firma de toda la información del LeaseSet, para asegurarse de que la "
|
|
"Destinación publicó ese LeaseSet."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:165
|
|
msgid "Lease specification"
|
|
msgstr "Especificaciones del Lease"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:167
|
|
msgid "LeaseSet specification"
|
|
msgstr "Especificaciones del LeaseSet"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:170
|
|
msgid "Lease Javadoc"
|
|
msgstr "Javadoc del Lease"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:172
|
|
msgid "LeaseSet Javadoc"
|
|
msgstr "Javadoc del LeaseSet"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:176
|
|
msgid "Unpublished LeaseSets"
|
|
msgstr "LeaseSets no publicados"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:177
|
|
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 ""
|
|
"Una destinación LeaseSet sólo usada para conexiones de salida que <i>no "
|
|
"será publicada</i>. Nunca será enviada para publicarse en los ruters "
|
|
"floodfill. Los túneles \"Cliente\", como aquellos que se usan para "
|
|
"navegarse o para los clientes IRC, nunca se publican. Los servidores "
|
|
"podrán todavía enviar mensajes a esas destinaciones no publicadas, "
|
|
"gracias a los <a href=\"#leaseset_storage_peers\">mensajes de "
|
|
"almacenamiento I2NP</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:187
|
|
msgid "Revoked LeaseSets"
|
|
msgstr "LeaseSets Revocados"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:188
|
|
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 ""
|
|
"Un LeaseSet puede ser <i>revocado</i> publicando un nuevo LeaseSet sin "
|
|
"leases. Las revocaciones tienen que ser firmadas por la clave de firmado "
|
|
"adicional del LeaseSet. La revocación no está completamente implementada,"
|
|
" y no está claro si tiene algún uso práctico. Este es el único uso "
|
|
"planeado para la clave de firmado, por lo cual no se usa."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:195
|
|
msgid "Encrypted LeaseSets"
|
|
msgstr "LeaseSets Cifrados"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:196
|
|
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 ""
|
|
"En un LeaseSet cifrado, todos los Leases están cifrados con una clave DSA"
|
|
" separada. Estos Leases sólo se decodificaran, y entonces se podrá "
|
|
"contactar con la destinación, por aquellos que posean la clave. No hay "
|
|
"ninguna marca u otra indicación directa de que un LeaseSer vaya cifrado. "
|
|
"Los LEaseSets no son usados extensamente, y es un tema para trabajar en "
|
|
"el futuro, cuando el interfaz de usuario y la implementación de los "
|
|
"LeaseSets cifrados sean mejores."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:205
|
|
msgid "LeaseSet Expiration"
|
|
msgstr "Expiración del LeaseSet"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:206
|
|
msgid ""
|
|
"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet "
|
|
"expires\n"
|
|
"10 minutes after the earliest creation time of all its Leases."
|
|
msgstr ""
|
|
"Todos los Leases (túneles) son válidos sólo durante 10 minutos; por lo "
|
|
"tanto, un LeaseSet expira 10 minutos más tarde que el tiempo de creación "
|
|
"de todos sus Leases."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:211
|
|
msgid "LeaseSet Persistent Storage"
|
|
msgstr "Almacenamiento persistente del LeaseSet"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:212
|
|
msgid ""
|
|
"There is no persistent storage of LeaseSet data since they expire so "
|
|
"quickly."
|
|
msgstr ""
|
|
"No existe el almacenamiento persistente de LeaseSets ya que expiran muy "
|
|
"rápido."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:217
|
|
msgid "Bootstrapping"
|
|
msgstr "Secuencia de arranque"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:218
|
|
msgid ""
|
|
"The netDb is decentralized, however you do need at\n"
|
|
"least one reference to a peer so that the integration process\n"
|
|
"ties you in. This is accomplished by \"reseeding\" your router with the "
|
|
"RouterInfo\n"
|
|
"of an active peer - specifically, by retrieving their "
|
|
"<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 ""
|
|
"La netDb es descentralizada, aún así se necesita al menos un par de "
|
|
"referencia para que el proceso de integración nos una a la red. Esto se "
|
|
"consigue \"resembrando\" el ruter con la RouterInfo de un par activo - "
|
|
"específicamente, obteniendo el archivo <code>routerInfo-$hash.dat</code> "
|
|
"y almacenándolo en su directorio <code>netDb/</code>. Cualquiera puede "
|
|
"proporcionarle estos archivos - incluso se pueden proporcionar a otros "
|
|
"exponiendo su propia directorio netDb. Esto simplifica el proceso, "
|
|
"algunos voluntarios publican sus directorios netDb (o un subconjunto) en "
|
|
"el Internet normal (fuera de I2P), y las URL de estos directorios están "
|
|
"codificadas dentro de I2P. Cuando el ruter se arranca por primera vez, "
|
|
"automáticamente se conecta a estas URLs aleatoriamente para obtenerlos."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:232
|
|
msgid "Floodfill"
|
|
msgstr "FloodFill"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:233
|
|
msgid ""
|
|
"The floodfill netDb is a simple distributed storage mechanism.\n"
|
|
"The storage algorithm is simple: send the data to the closest peer that "
|
|
"has advertised itself\n"
|
|
"as a floodfill router. Then wait 10 seconds, pick another floodfill "
|
|
"router and ask them \n"
|
|
"for the entry to be sent, verifying its proper insertion / distribution. "
|
|
"If the \n"
|
|
"verification peer doesn't reply, or they don't have the entry, the sender"
|
|
" \n"
|
|
"repeats the process. When the peer in the floodfill netDb receives a "
|
|
"netDb \n"
|
|
"store from a peer not in the floodfill netDb, they send it to a subset of"
|
|
" the floodfill netDb-peers.\n"
|
|
"The peers selected are the ones closest (according to the <a "
|
|
"href=\"#kademlia_closeness\">XOR-metric</a>) to a specific key."
|
|
msgstr ""
|
|
"El floodfill netDb is simplemente un mecanismo de almacenamiento "
|
|
"distribuido. El algoritmo de almacenamiento es simple: envía los datos al"
|
|
" par más cercano que se haya anunciado como floodfill. Espera 10 "
|
|
"segundos, alije otro ruter floodfill y le pregunta por la entrada a "
|
|
"enviar, verificando su propia introducción / distribución. Si el par de "
|
|
"verificación no responde, o no tienen la entrada pedida, el transmisor "
|
|
"repite el proceso. Cuando un par de la netDb floodfill recibe recibe un "
|
|
"almacenamiento netDb de un par que no está en la netDb floodfill, lo "
|
|
"envía a un subconjunto del los pares floodfill netDb. Los pares "
|
|
"seleccionados son los más cercanos a una clave especificada (de acuerdo "
|
|
"con el<a href=\"#kademlia_closeness\">XOR-metric</a>)."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:244
|
|
msgid ""
|
|
"Determining who is part of the floodfill netDb is trivial - it is exposed"
|
|
" in each \n"
|
|
"router's published routerInfo as a capability."
|
|
msgstr ""
|
|
"Determinar quien es parte del floodfill netDb es algo trivial - se "
|
|
"muestra en el routerinfo publicado de cada ruter como una capacidad."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:249
|
|
msgid ""
|
|
"Floodfills have no central authority and do not form a \"consensus\" -\n"
|
|
"they only implement a simple DHT overlay."
|
|
msgstr ""
|
|
"Los flodfill no tienen inguna autoridad central y no forman ningún "
|
|
"\"consenso\" - sólo implementan una capa DHT."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:256
|
|
msgid "Floodfill Router Opt-in"
|
|
msgstr "Convertirse en un ruter floodfill"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:258
|
|
msgid ""
|
|
"Unlike Tor, where the directory servers are hardcoded and trusted,\n"
|
|
"and operated by known entities,\n"
|
|
"the members of the I2P floodfill peer set need not be trusted, and\n"
|
|
"change over time."
|
|
msgstr ""
|
|
"Al contrario que en Tor, donde los servidores están incluidos y son de "
|
|
"confianza, y operados por identidades conocidas, los miembros de los "
|
|
"pares floodfill de I2P no necesitas ser de confianza, y cambian con el "
|
|
"tiempo."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:265
|
|
msgid ""
|
|
"To increase reliability of the netDb, and minimize the impact\n"
|
|
"of netDb traffic on a router, floodfill is automatically enabled\n"
|
|
"only on routers that are configured with high bandwidth limits.\n"
|
|
"Routers with high bandwidth limits (which must be manually configured,\n"
|
|
"as the default is much lower) are presumed to be on lower-latency\n"
|
|
"connections, and are more likely to be available 24/7.\n"
|
|
"The current minimum share bandwidth for a floodfill router is 128 "
|
|
"KBytes/sec."
|
|
msgstr ""
|
|
"Para incrementar la seguridad de la netDb, y minimizar el impacto del "
|
|
"tráfico de la netDb en un ruter, floodfill solo está activo por defecto "
|
|
"en los ruters configurados para compartir un gran ancho de banda. Los "
|
|
"ruters con límites grandes de compartición de ancho de banda (lo que se "
|
|
"puede configurar manualmente, ya que por defecto es mucho más bajo) "
|
|
"presuntamente tienen conexiones de baja latencia, y es más probable que "
|
|
"estén disponibles 24/7. El ancho de banda mínimo a compartir para "
|
|
"convertirse en floodfill es de 128 KBytes/sec. "
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:275
|
|
msgid ""
|
|
"In addition, a router must pass several additional tests for health\n"
|
|
"(outbound message queue time, job lag, etc.) before floodfill operation "
|
|
"is\n"
|
|
"automatically enabled."
|
|
msgstr ""
|
|
"Además, un ruter debe pasar varios pruebas adiciones para comprobar su "
|
|
"salud (tiempo de espera de los mensajes de salida, retraso de los "
|
|
"trabajos, etc) antes de que se active automáticamente como un floodfill."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:281
|
|
msgid ""
|
|
"With the current rules for automatic opt-in, approximately 6% of\n"
|
|
"the routers in the network are floodfill routers."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:286
|
|
msgid ""
|
|
"While some peers are manually configured to be floodfill,\n"
|
|
"others are simply high-bandwidth routers who automatically volunteer\n"
|
|
"when the number of floodfill peers drops below a threshold.\n"
|
|
"This prevents any long-term network damage from losing most or all\n"
|
|
"floodfills to an attack.\n"
|
|
"In turn, these peers will un-floodfill themselves when there are\n"
|
|
"too many floodfills outstanding."
|
|
msgstr ""
|
|
"Mientras que algunos pares se configuran manualmente para ser floodfill, "
|
|
"otros son simplemente ruters con gran ancho de banda que son "
|
|
"automáticamente convertidos en floodfill cuando el número de pares "
|
|
"floodfill baja de un límite. Esto evita el daño por un tiempo largo "
|
|
"cuando se pierden la mayoría de los ruters flodfill a causa de un ataque."
|
|
" A su vez, estos pares dejarán de ser floodfill cuando ya haya "
|
|
"suficientes floodfills activos."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:296
|
|
msgid "Floodfill Router Roles"
|
|
msgstr "El papel del ruter floodfill"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:297
|
|
msgid ""
|
|
"A floodfill router's only services that are in addition to those of non-"
|
|
"floodfill routers\n"
|
|
"are in accepting netDb stores and responding to netDb queries.\n"
|
|
"Since they are generally high-bandwidth, they are more likely to "
|
|
"participate in a high number of tunnels\n"
|
|
"(i.e. be a \"relay\" for others), but this is not directly related to "
|
|
"their distributed database services."
|
|
msgstr ""
|
|
"Los únicos servicios que se añaden a esos ruters no floodfill es aceptar "
|
|
"almacenamientos en la netDb y el responder a las solicitudes de la netDb."
|
|
" Ya que normalmente tienen un gran ancho de banda, es más usual que "
|
|
"participen en un gran número de túneles (por ejemplo como un \"relay\" "
|
|
"para otros), pero esto no está relacionado directamente con sus servicios"
|
|
" distribuidos de la base de datos."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:305
|
|
msgid "Kademlia Closeness Metric"
|
|
msgstr "Medida de cercanía Kademlia"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:306
|
|
msgid ""
|
|
"The netDb uses a simple Kademlia-style XOR metric to determine closeness."
|
|
"\n"
|
|
"The SHA256 hash of the key being looked up or stored is XOR-ed with\n"
|
|
"the hash of the router in question to determine closeness.\n"
|
|
"A modification to this algorithm is done to increase the costs of <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 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"
|
|
"The daily transformation of the DHT is sometimes called \"keyspace "
|
|
"rotation\",\n"
|
|
"although it isn't strictly a rotation."
|
|
msgstr ""
|
|
"LA NetDb usa una medida XOR simple al estilo Kademlia para determinar la "
|
|
"cercanía. "
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:318
|
|
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:325
|
|
msgid "Storage, Verification, and Lookup Mechanics"
|
|
msgstr "Mecanismos de almacenaje, verificación y bloqueo"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:327
|
|
msgid "RouterInfo Storage to Peers"
|
|
msgstr "Almacenamiento del RouterInfo en los pares"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:328
|
|
#, 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 ""
|
|
"Los mensajes <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages que "
|
|
"contienen el RouterInfo local son intercambiados con pares como parte de "
|
|
"la inicialización de una conexión de transporte <a "
|
|
"href=\"%(ntcp)s\">NTCP</a> o <a href=\"%(ssu)s\">SSU</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:335
|
|
msgid "LeaseSet Storage to Peers"
|
|
msgstr "Almacenamiento del LeaseSet en los pares"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:336
|
|
#, 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 ""
|
|
"Los mensajes <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages que "
|
|
"contienen el LeaseSet local son intercambiados periódicamente con pares "
|
|
"agrupándolos en un mensaje garlic junto con el tráfico normal desde la "
|
|
"Destinación relacionada. Esto permite enviar una respuesta inicial, y una"
|
|
" respuesta posterior, al Lease apropiado, sin necesidad de hacer "
|
|
"búsquedas de LeaseSet, o tener que comunicarse con las Destinaciones para"
|
|
" publicar los LeaseSets."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:344
|
|
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:353
|
|
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:366
|
|
msgid "RouterInfo Storage to Floodfills"
|
|
msgstr "Almacenamiento de RouterInfo en los Floodfills"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:367
|
|
#, 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 ""
|
|
"Un ruter publica su propia RouterInfo conectándose directamente a un "
|
|
"ruter Floodfill y enviando un <a href=\"%(i2np)s\">I2NP</a> "
|
|
"DatabaseStoreMessage con un token de respuesta no vacío. Este mensaje "
|
|
"está cifrado de fin a fin como Garlic, y es una conexión directa, con lo "
|
|
"cual no hay ruters en medio (no se necesita ocultar ninguna información)."
|
|
" El ruter floodfill responde con un \n"
|
|
"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage, con el ID del "
|
|
"mensaje puesto en el valor del token de respuesta."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:381
|
|
msgid "LeaseSet Storage to Floodfills"
|
|
msgstr "Almacenamiento de LeaseSet en los Floodfills"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:382
|
|
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 ""
|
|
"El almacenamiento de los LeaseSets es mucho más sensible que el de los "
|
|
"RouterInfos, ya que un ruter debe de tener cuidad de que el LeaseSet no "
|
|
"pueda ser asociado con el ruter."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:387
|
|
#, 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 ""
|
|
"Un ruter publica un LeaseSet local enviando un <a "
|
|
"href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage con un token de respuesta"
|
|
" no vacío sobre un túnel cliente de salida desde esa Destinación. Este "
|
|
"mensaje es cifrado de fin a fin con Garlic usando el administrador de "
|
|
"claves de la sesión de la Destinación, para ocultar el mensaje en el "
|
|
"punto final del túnel de salida. El ruter floodfill responde con un <a "
|
|
"href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage, con el ID del mensaje "
|
|
"puesto como el token de respuesta. Este mensaje es enviado de vuelta a "
|
|
"los túneles de entrada del cliente."
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:400
|
|
msgid "Flooding"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:401
|
|
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 4) 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:412
|
|
#, 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:422
|
|
msgid "RouterInfo and LeaseSet Lookup"
|
|
msgstr "Búsquedas de RouterInfo y LeaseSet"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:423
|
|
#, 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:429
|
|
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:433
|
|
#, 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:441
|
|
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:448
|
|
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:455
|
|
#, 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:459
|
|
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:470
|
|
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:482
|
|
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:491
|
|
msgid "RouterInfo Storage Verification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:492
|
|
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:500
|
|
msgid "LeaseSet Storage Verification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:501
|
|
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:511
|
|
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:519
|
|
msgid "Exploration"
|
|
msgstr "Exploración"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:520
|
|
#, 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:534
|
|
msgid "Notes on Lookup Responses"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:535
|
|
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:545
|
|
msgid "MultiHoming"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:547
|
|
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:557
|
|
msgid "Threat Analysis"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:558
|
|
#, 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:562
|
|
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:569
|
|
msgid "General Mitigation Through Growth"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:570
|
|
msgid ""
|
|
"There are currently hundreds of floodfill routers in the network.\n"
|
|
"Most of the following attacks will become more difficult, or have less "
|
|
"impact,\n"
|
|
"as the network size and number of floodfill routers increase."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:577
|
|
msgid "General Mitigation Through Redundancy"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:578
|
|
msgid ""
|
|
"Via flooding, all netdb entries are stored on the 8 floodfill routers "
|
|
"closest to the key."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:583
|
|
msgid "Forgeries"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:584
|
|
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:589
|
|
msgid "Slow or Unresponsive"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:590
|
|
#, 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:597
|
|
msgid "Average response time"
|
|
msgstr "Tiempo medio de respuesta"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:598
|
|
msgid "Percentage of queries answered with the data requested"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:599
|
|
msgid "Percentage of stores that were successfully verified"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:600
|
|
msgid "Last successful store"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:601
|
|
msgid "Last successful lookup"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:602
|
|
msgid "Last response"
|
|
msgstr "Última respuesta"
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:605
|
|
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:615
|
|
msgid "Sybil Attack (Full Keyspace)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:616
|
|
#, 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:621
|
|
#, 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:627
|
|
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:635
|
|
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:640
|
|
msgid ""
|
|
"Ask everyone in the network to enable floodfill manually (fight Sybil "
|
|
"with more Sybil)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:641
|
|
msgid "Release a new software version that includes the hardcoded \"bad\" list"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:642
|
|
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:646
|
|
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:647
|
|
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:656
|
|
msgid "This attack becomes more difficult as the network size grows."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:662
|
|
msgid "Sybil Attack (Partial Keyspace)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:663
|
|
#, 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:672
|
|
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:680
|
|
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:692
|
|
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:700
|
|
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:710
|
|
msgid "Bootstrap Attacks"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:711
|
|
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:718
|
|
msgid "Several defenses are possible, and most of these are planned:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:722
|
|
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:726
|
|
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:730
|
|
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:735
|
|
msgid "Bundling reseed data in the installer"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:738
|
|
msgid "Query Capture"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:739
|
|
#, 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:744
|
|
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:749
|
|
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:756
|
|
#, 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:775
|
|
msgid "DHT-Based Relay Selection"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:776
|
|
#, 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:780
|
|
#, 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:786
|
|
msgid "Information Leaks"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:787
|
|
#, 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:791
|
|
#, 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:802
|
|
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:810
|
|
#, 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% 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:824
|
|
msgid "Moved to the netdb discussion page"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:828
|
|
msgid "End-to-end encryption of additional netDb lookups and responses."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/network-database.html:832
|
|
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 "Julio de 2010"
|
|
|
|
#: 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 ""
|
|
|
|
#: 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:286
|
|
msgid "Peer Selection"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:28
|
|
msgid ""
|
|
"<b>Peer selection</b> is the process of choosing which routers\n"
|
|
"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 "Información futura"
|
|
|
|
#: 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 "Perfiles"
|
|
|
|
#: 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 "Velocidad"
|
|
|
|
#: 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 "Capacidad"
|
|
|
|
#: 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 ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:206
|
|
msgid "Peer Selection for Exploratory Tunnels"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:207
|
|
msgid ""
|
|
"Exploratory tunnels are used for router administrative purposes, such as "
|
|
"network database traffic\n"
|
|
"and testing client tunnels.\n"
|
|
"Exploratory tunnels are also used to contact previously unconnected "
|
|
"routers, which is why\n"
|
|
"they are called \"exploratory\".\n"
|
|
"These tunnels are usually low-bandwidth."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:215
|
|
msgid ""
|
|
"Peers for building exploratory tunnels are generally chosen randomly from"
|
|
" the standard group.\n"
|
|
"If the success rate of these build attempts is low compared to the client"
|
|
" tunnel build success rate,\n"
|
|
"the router will select a weighted average of peers randomly from the high"
|
|
" capacity group instead.\n"
|
|
"This helps maintain a satisfactory build success rate even when network "
|
|
"performance is poor.\n"
|
|
"There is no bias toward selecting peers that were previously participants"
|
|
" in an exploratory tunnel."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:223
|
|
msgid ""
|
|
"As the standard group includes a very large subset of all peers the "
|
|
"router knows about,\n"
|
|
"exploratory tunnels are essentially built through a random selection of "
|
|
"all peers,\n"
|
|
"until the build success rate becomes too low."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/peer-selection.html:231
|
|
msgid "Restrictions"
|
|
msgstr "Restricciones"
|
|
|
|
#: 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% 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 "Introducción a I2P"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:5
|
|
msgid "I2P: A scalable framework for anonymous communication"
|
|
msgstr "I2P: Un sistema escalable para las comunicaciones anónimas"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:7
|
|
msgid "Table of Contents"
|
|
msgstr "Tabla de contenidos"
|
|
|
|
#: 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:278
|
|
msgid "Introduction"
|
|
msgstr "Introducción"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:11
|
|
msgid "I2P Operation"
|
|
msgstr "Como funciona I2P"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:16
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:401
|
|
msgid "Transport protocols"
|
|
msgstr "Protocolos de transporte"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:17
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:458
|
|
msgid "Cryptography"
|
|
msgstr "Cifrado"
|
|
|
|
#: 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 ""
|
|
"I2P es una capa de red auto organizada, resistente, anónima, dentro de la"
|
|
" cual pueden funcionar un gran número de aplicaciones con diferentes "
|
|
"modelos de seguridad y anonimato. Cada una de estas aplicaciones pueden "
|
|
"usar sus propios niveles de seguridad y sus propios niveles de "
|
|
"rendimiento, sin preocuparse por crear una implementación apropiada de "
|
|
"una red libre, permitiendoles mezclar sus actividades con un gran número "
|
|
"de usuarios anónimos que ya utilizan I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:34
|
|
msgid ""
|
|
"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 ""
|
|
"Las aplicaciones ya disponibles proveen con un gran número de las "
|
|
"aplicaciones usadas normalmente en Interenet - navegación web "
|
|
"<b>anónima</b>, alojamiento web, chat, compartir de archivos, email, "
|
|
"blogs y sindicación de contenidos, grupos de noticias, así como otras "
|
|
"muchas aplicaciones en desarrollo."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:40
|
|
msgid "Web browsing: using any existing browser that supports using a proxy."
|
|
msgstr "Navegación web: usando cualquier navegador que soporte un proxy."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:41
|
|
msgid "Chat: IRC, Jabber, <a href=\"#app.i2pmessenger\">I2P-Messenger</a>."
|
|
msgstr "Chat: IRC, Jabber. VOIP, <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 ""
|
|
"Compartir archivos: <a href=\"#app.i2psnark\">I2PSnark</a>, <a "
|
|
"href=\"#app.robert\">Robert</a>, <a href=\"#app.imule\">iMule</a>, <a "
|
|
"href=\"#app.i2phex\">I2Phex</a>, <a href=\"#app.pybit\">PyBit</a>, <a "
|
|
"href=\"#app.i2pbt\">I2P-bt</a> y otros"
|
|
|
|
#: 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 ""
|
|
"Email: <a href=\"#app.i2pmail\">susimail</a> and <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 "Blogs: usando el pluguin pebble o la aplicación distribuida "
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:49
|
|
msgid ""
|
|
"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS "
|
|
"cloud over I2P."
|
|
msgstr ""
|
|
"Almacenamiento de datos distribuido: Guarde sus datos redundantemente en "
|
|
"Tahoe-LAFS sobre I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:50
|
|
msgid "Newsgroups: using any newsgroup reader that supports using a proxy."
|
|
msgstr ""
|
|
"Grupos de noticias: usando cualquier lector de grupos de noticias que "
|
|
"soporte proxy."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:53
|
|
msgid ""
|
|
"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 ""
|
|
"Al contrario que las webs alojadas en redes de distribución de contenido "
|
|
"como <a href=\"#similar.freenet\">Freenet</a> o <a "
|
|
"href=\"http://www.ovmj.org/GNUnet/\">GNUnet</a>, los servicios hospedados"
|
|
" en I2P son totalmente interactivos - hay motores de búsquedas "
|
|
"tradicionales, tablones de anuncios, blogs en los que comentar, webs "
|
|
"funcionando con bases de datos, y puentes para obtener contenido estático"
|
|
" por ejemplo de Freenet sin tener que instalarlo localmente."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:61
|
|
msgid ""
|
|
"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 ""
|
|
"Con todos estas aplicaciones anónimas habilitadas, I2P toma el rol de "
|
|
"aplicación mensajera, una aplicación, por ejemplo, dice que quiere enviar"
|
|
" datos a un identificador criptográfico (una \"destinación\") e I2P se "
|
|
"encarga de asegurarse de que lleguen seguros y anónimos. I2P también "
|
|
"ofrece un librería simple de <a href=\"#app.streaming\">streaming</a> que"
|
|
" permite que los mensajes sean enviados seguros y ordenados, ofreciendo "
|
|
"transparentemente algoritmos de controles de congestión TCP optimizados "
|
|
"para redes con retraso y con grandes anchos de banda. Aunque hay proxies "
|
|
"SOCKS para usar casi cualquier aplicación con I2P estas se han limitado, "
|
|
"ya que la mayoría de las aplicaciones muestran, lo que se llama en el "
|
|
"contexto anónimo, información sensible. La única forma segura de usar "
|
|
"aplicaciones externas sería comprobar completamente la aplicación para "
|
|
"asegurarse que funciona bien, y para ayudar con este problema "
|
|
"proporcionamos una serie de APIs en varios idiomas que pueden usarse para"
|
|
" sacarle el mayor provecho a la red."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:78
|
|
#, python-format
|
|
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 no es un proyecto de investigación - académico, comercial o "
|
|
"gubernamental. En cambio es un esfuerzo de ingeniaría enfocado en hacer "
|
|
"lo posible para ofrecer un nivel decente de anonimato para aquellos que "
|
|
"lo necesitan. Lleva en desarrollo activo desde el 2003 con un programador"
|
|
" a tiempo completo y un grupo de contribuidores a tiempo parcial de todo "
|
|
"el mundo. Todo el trabajo realizado es software libre y disponible "
|
|
"gratuitamente en la <a href=\"%(site)s\">web</a>. La mayoría del código "
|
|
"es de dominio público, excepto algunas rutinas de cifrado que usan "
|
|
"licencias del estilo BSD. La gente trabajando en I2P no controla bajo que"
|
|
" licencias libera la gente sus aplicaciones clientes, y hay varias "
|
|
"aplicaciones GPL disponibles (<a href=\"#app.i2ptunnel\">I2PTunnel</a>, "
|
|
"<a href=\"#app.i2pmail\">susimail</a>, <a "
|
|
"href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.i2pbote\">I2P-"
|
|
"Bote</a>, <a href=\"#app.i2phex\">I2Phex</a> y otras.). El <a "
|
|
"href=\"%(halloffame)s\">financiamiento</a> viene en su totalidad de "
|
|
"donaciones, y por el momento no recibe ninguna rebaja de impuestos en "
|
|
"ninguna jurisdicción, ya que la mayoría de los programadores son "
|
|
"anónimos."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:96
|
|
msgid "Operation"
|
|
msgstr "Como funciona"
|
|
|
|
#: 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 ""
|
|
"Para entender como funciona I2p es esencial entender varios conceptos. "
|
|
"Primero, I2P hace una separación completa entre las aplicaciones usadas "
|
|
"en la red (un \"ruter\") y los puntos finales anónimos "
|
|
"(\"destinaciones\") asociados a las aplicaciones individuales. El hecho "
|
|
"de que alguien ejecute I2P normalmente no es un secreto. Lo que se oculta"
|
|
" es la información y lo que hace el usuario, así como las destinaciones "
|
|
"particulares a la que se conecta el ruter. Los usuarios finales tendrán "
|
|
"normalmente varias destinaciones locales en su ruter - por ejemplo, una "
|
|
"destinación conectando con servidores IRC, otras para las webs anónimas "
|
|
"(eepsites), otra para I2Phex, otra para los torrets, etc."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:111
|
|
msgid ""
|
|
"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 ""
|
|
"Otro concepto crítico a entender es el concepto de \"túnel\". Un túnel es"
|
|
" un camino directo a través de una lista seleccionada y explícita de "
|
|
"ruters. Se usa un cifrado por capas, por lo cual cada ruter sólo puede "
|
|
"descifrar una capa.\n"
|
|
"La información descifrada contiene la IP del ruter siguiente, así como la"
|
|
" información cifrada para ser enviada. Cada túnel tiene un punto de "
|
|
"inicio (el primer ruter, también conocido como \"gateway\") y un punto "
|
|
"final. Los mensajes sólo se pueden enviar en una dirección. Para enviar "
|
|
"un mensaje de respuesta se debe crear un nuevo túnel."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:122
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:105
|
|
msgid "Inbound and outbound tunnel schematic"
|
|
msgstr "Esquema de túneles de entrada y salida"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:124
|
|
msgid "Figure 1: Two types of tunnels exist: inbound and outbound."
|
|
msgstr "Figura 1: Existen 2 tipos de túneles: de entrada y de salida."
|
|
|
|
#: 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 ""
|
|
"Existen 2 tipos de túneles:\n"
|
|
"<b>túneles \"outbound\", de salida</b> envían mensajes hacia fuera desde "
|
|
"el creador de túneles, mientras que <b>túneles \"inbound\", de "
|
|
"entrada</b> llevan los mensajes hasta el creador de túneles . Combinando "
|
|
"estos 2 túneles los usuarios pueden enviar mensajes a otros usuarios. El "
|
|
"remitente (\"Alice\" en la imagen anterior) crea un túnel de salida, "
|
|
"mientras que el receptor (\"Bob\" en la imagen de arriba) crea un túnel "
|
|
"entrante. La puerta de salida de un túnel de entrada puede recibir "
|
|
"mensajes de cualquier usuario que serán enviados hasta en punto final "
|
|
"(\"Bob\").\n"
|
|
"El punto final del túnel de salida necesita enviar el mensaje a la puerta"
|
|
" de salida del túnel de entrada.\n"
|
|
"Para conseguir esto, el remitente (\"Alice\") añade instrucciones al "
|
|
"mensaje cifrado. Una vez que el punto final y el túnel de salida "
|
|
"descifran el mensaje, tendrán las instrucciones para poder enviar el "
|
|
"mensaje la puerta de salida de entrada correcta (la puerta de salida "
|
|
"hacia \"Bob\")."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:144
|
|
msgid ""
|
|
"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 ""
|
|
"Un tercer concepto crítico es el de la <b>\"base de datos de la red\"</b>"
|
|
" (o \"netDb\") - un par de algoritmos hechos para compartir los datos de "
|
|
"la red. Los 2 tipos de datos compartidos son <b>\"routerInfo\"</b> y "
|
|
"<b>\"leaseSets\"</b> - la información del ruter, ruterinfo, da a los "
|
|
"ruters la información necesaria para poder contactar con un ruter en "
|
|
"particular (sus claves públicas, dirección de transporte, etc), mientras "
|
|
"que el leaseSet le da a los ruters un número de \"leases\", asignaciones."
|
|
" Cada una de estas asignaciones especifica una puerta de salida de un "
|
|
"túnel, la cual permite alcanzar una destinación específica. La "
|
|
"información completa en un lease es:"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:155
|
|
msgid "Inbound gateway for a tunnel that allows reaching a specific destination."
|
|
msgstr ""
|
|
"Gateway de entrada para un túnel que permite alcanzar una destinación "
|
|
"específica."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:156
|
|
msgid "Time when a tunnel expires."
|
|
msgstr "Tiempo para espiración del túnel."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:157
|
|
msgid ""
|
|
"Pair of public keys to be able to encrypt messages (to send through the "
|
|
"tunnel and reach the destination)."
|
|
msgstr ""
|
|
"Par de claves públicas para poder cifrar el mensaje (para enviarlo a "
|
|
"través del túnel y alcanzar su destino)."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:159
|
|
msgid ""
|
|
"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 ""
|
|
"Los ruters envían su routerInfo directamente a la netDB, mientras que los"
|
|
" leaseSets son enviados a través de los túneles de salida (los leaseSets "
|
|
"tienen que ser enviados anónimamente para evitar la correlación del ruter"
|
|
" con sus leaseSets)"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:164
|
|
msgid ""
|
|
"We can combine the above concepts to build successful connections in the "
|
|
"network."
|
|
msgstr ""
|
|
"Podemos combinar los anteriores conceptos para construir conexiones "
|
|
"dentro de la red."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:168
|
|
msgid ""
|
|
"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 ""
|
|
"Para crear sus propios tuneles de entrada y salida, Alice no mira en la "
|
|
"netDB para obtener la información. Ella obtiene listas de pares que puede"
|
|
" usar como saltos en sus túneles. Entonces puede enviar un mensaje de "
|
|
"construcción al primer salto, solicitando la construcción de un túnel y "
|
|
"pidiendo a ese ruter que siga adelante con la construcción del mensaje, "
|
|
"hasta que el túnel ha sido construido."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:175
|
|
msgid "Request information on other routers"
|
|
msgstr "Obtiene indormacón sobre otros ruters"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:177
|
|
msgid "Build tunnel using router information"
|
|
msgstr "Construye el túnel usando la información del ruter"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:179
|
|
msgid "Figure 2: Router information is used to build tunnels."
|
|
msgstr "Figura 2: La información del ruter es usada para construir túneles."
|
|
|
|
#: 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 ""
|
|
"Cuando Alice quiere enviar un mensaje a Bob, primero mira en la netDB "
|
|
"hasta encontrar la leaseSet de Bob, dando sus propias gateways de "
|
|
"entrada.\n"
|
|
"Entonces ella elije uno de los túneles de salida y envía su mensaje con "
|
|
"instrucciones para que el punto final de túnel de salida reenvíe el "
|
|
"mensaje a unos de las gateways de entrada de BoB. Cuando el punto final "
|
|
"del túnel de salida recibe estas instrucciones, reenvía el mensaje como "
|
|
"se ha pedido, y cuando el la gateway del túnel de entrada de Bob lo "
|
|
"recibe, es enviado hasta el ruter de Bob. Si Alice quiere que Bob pueda "
|
|
"responder al mensaje necesita transmitir explícitamente su propia "
|
|
"destinación como parte del mensaje. Esto puede hacerse introduciendo una "
|
|
"capa de nivel superior, lo cual se hace en la librearía de <a "
|
|
"href=\"#app.streaming\">streaming</a>. Alice también puede acortar el "
|
|
"tiempo de respuesta construyendo su LeaseSet mas reciente con el mensaje,"
|
|
" con lo cual Bob no necesita mirar en la netDB para responder, pero esto "
|
|
"es opcional."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:199
|
|
msgid "Connect tunnels using LeaseSets"
|
|
msgstr "Conectando túneles usando LeaseSets "
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:199
|
|
msgid "Connect tunnels using leaseSets"
|
|
msgstr "Conectando túneles usando LeaseSets"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:201
|
|
msgid "Figure 3: LeaseSets are used to connect outbound and inbound tunnels."
|
|
msgstr ""
|
|
"Figura 3: Los LeaseSets son usados para conectar los túneles de entrada y"
|
|
" salida."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:204
|
|
msgid ""
|
|
"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 ""
|
|
"Mientras que los túneles están cifrados en capas para prevenir ser "
|
|
"revelados sin permiso a otros pares de la red (ya que la capa de "
|
|
"transporte en sí misma no previene la muestra no autorizada a pares fuera"
|
|
" de la red), es necesario añadir un final adicional a la capa de cifrado "
|
|
"final para ocultar el mensaje del punto final del túnel de salida y de la"
|
|
" puerta de salida del túnel de entrada. Este \"<a "
|
|
"href=\"#op.garlic\">cifrado garlic </a>\" permite al ruter de Alice "
|
|
"envolver varios mensajes en un simple \"mensaje garlic\", cifrado para "
|
|
"una calve pública en particular y así los pares intermediarios no pueden "
|
|
"determinar cuantos mensajes hay dentro del mensaje garlic, que dicen esos"
|
|
" mensajes, o a donde están destinados los mensajes individuales. Para una"
|
|
" comunicación típica entre Alice y Bob, el garlic será cifrado con la "
|
|
"clave pública publicada en el leaseSet de bob, permitiendo que el mensaje"
|
|
" sea cifrado sin dar la clave pública al dueño del ruter de Bob."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:219
|
|
msgid ""
|
|
"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 ""
|
|
"Otra cosa importante a tener en cuenta es que I2P esta totalmente basado "
|
|
"en mensajes y que algunos mensajes se pueden perder a lo largo del "
|
|
"camino. Las aplicaciones que usan I2P pueden usar el interfaz orientado a"
|
|
" mensajes y tomar el control sobre la congestión y las necesidades de "
|
|
"seguridad, pero la mayoría tienen suficiente usando la librería de <a "
|
|
"href=\"#app.streaming\">streaming</a> que proveemos y ver I2P como una "
|
|
"red basada en streams."
|
|
|
|
#: 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 ""
|
|
"Ambos túneles, de entrada y de salida funcionan con los mismos "
|
|
"principios. La puerta de salida del túnel acumula un número de mensajes, "
|
|
"eventualmente pre procesandolos para poder ser entregados. Después, la "
|
|
"puerta de salida cifra esa información pre procesada y la envía al primer"
|
|
" salto. El par y los siguientes túneles participantes añaden una capa de "
|
|
"cifrado después de verificar que no es duplicado y antes de enviarlo al "
|
|
"siguiente par. Eventualmente, este mensaje llega al punto final, donde el"
|
|
" mensaje es dividido de nuevo y enviado conforme a lo solicitado. La "
|
|
"diferencia surge en lo que hace el creador del túnel - para los túneles "
|
|
"de entrada, el creador es el punto final y simplemente descifra todas las"
|
|
" capas añadidas, mientras que para los túneles de salida, el creador es "
|
|
"la puerta de salida y pre descifran todas las capas con lo que después de"
|
|
" que todos las capas de cifrado por salto son añadidas, el mensaje llega "
|
|
"en claro al túnel de punto final."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:244
|
|
msgid ""
|
|
"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 ""
|
|
"La elección del cada par al pasar un mensaje al igual que su orden es "
|
|
"importante para entender el anonimato y el rendimiento de I2P. Mientras "
|
|
"que la base de datos de la red (debajo) tiene su propio criterio al "
|
|
"elegir en qué pares consultar y almacenar entradas, los creadores de los "
|
|
"túneles pueden usar cualquier par en la red y en cualquier orden (e "
|
|
"incluso cualquier número de veces) en un solo túnel. Si se conocen "
|
|
"globalmente la latencia exacta y capacidad de datos, la selección del "
|
|
"orden vendrá dada por las necesidades particulares del cliente y su "
|
|
"modelo de seguridad. Desafortunadamente, no es trivial obtener "
|
|
"anónimamente la latencia y la capacidad de datos, y al dependerse de "
|
|
"pares no confiables para obtener esta información crea serios problemas "
|
|
"en el anonimato."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:257
|
|
msgid ""
|
|
"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 ""
|
|
"Desde la perspectiva del anonimato, la técnica más simple sería elegir "
|
|
"pares aleatoriamente de toda la red, ordenarlos aleatoriamente y usar "
|
|
"esos pares en ese orden eternamente. Desde la perspectiva del "
|
|
"rendimiento, la técnica más simple sería elegir los pares más rápidos con"
|
|
" la capacidad necesaria, repartiendo la carga entre varios pares para "
|
|
"manejar transparentemente los fallos, y para reconstruir el túnel cuando "
|
|
"cambie la información sobre la capacidad disponible. Mientras que el "
|
|
"primer modelo es frágil y deficiente, el segundo necesita información no "
|
|
"accesible y no ofrece suficiente anonimato. I2P en cambio funciona "
|
|
"ofreciendo un amplio abanico de estrategias de selección de pares, junto "
|
|
"con código que tienen en cuenta el nivel de anonimato para organizar los "
|
|
"pares y sus perfiles."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:270
|
|
msgid ""
|
|
"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 ""
|
|
"Por defecto I2P está constantemente comprobando los pares con los que "
|
|
"interactúa y midiendo su comportamiento - por ejemplo, cuando un par "
|
|
"responde a una búsqueda de netBD en 1,3 segundos, la latencia de vuelta "
|
|
"es guardada en los perfiles de todos los ruters implicados en los 2 "
|
|
"túneles (de entrada y de salida) por los que la respuesta ha pasado, así "
|
|
"como el perfil del par consultado. Las mediciones directas, como el "
|
|
"retardo de la capa de transporte o la congestión, no se usan como parte "
|
|
"del perfil, ya que puede manipularse y ser asociada con el ruter que está"
|
|
" midiendo, exponiéndolo a ataques triviales. Mientras se calculan estos "
|
|
"perfiles, una serie de cálculos se ejecutan en cada uno para resumir su "
|
|
"rendimiento - su latencia, su capacidad para manejar la pérdida de "
|
|
"actividad, si está saturado, y cómo de bien está integrado dentro de la "
|
|
"red. Estos cálculos son entonces comparados por los pares activos para "
|
|
"organizar los ruters en 4 niveles - rápido y con gran capacidad, gran "
|
|
"capacidad, sin caídas y con caídas. Los umbrales de estos niveles son "
|
|
"determinados dinámicamente, y mientras que se usan algoritmos bastantes "
|
|
"sencillos también existen otras alternativas."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:288
|
|
msgid ""
|
|
"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 ""
|
|
"Usando este perfil, la estrategia de selección de par más razonable es "
|
|
"coger los pares aleatoriamente del nivel más alto (rápido y con gran "
|
|
"capacidad), que es los que se hace para los túneles clientes. Para los "
|
|
"túneles de exploración (usados por netDB y la administración de túneles) "
|
|
"se toman túneles aleatorios del nivel \"sin fallos\" (lo que incluye "
|
|
"también a los túneles en los \"mejores\" niveles), permitiendo a los "
|
|
"ruters tomar muestras más ampliamente, lo que tiene el efecto de "
|
|
"optimizar la selección de pares a través de la escalada aleatoria. Sin "
|
|
"embargo estas estrategias solas filtran información de los pares que "
|
|
"están en el nivel más alto a causa de sus predecesores y a causa de "
|
|
"ataques de 'cosechado' en la netDB. A su vez, existen otras alternativas,"
|
|
" las cuales, aunque no reparten la carga igualitariamente, resistirán "
|
|
"ciertos ataques usados habitualmente."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:302
|
|
msgid ""
|
|
"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 ""
|
|
"Tomando una clave aleatoria y ordenando los pares de acuerdo a su "
|
|
"distancia XOR de ella, la información expuesta es reducida en los ataques"
|
|
" del predecesor y de cosechado conforme a la velocidad de fallo del par y"
|
|
" de su mezcla de niveles. Otra estrategia simple para tratar con el "
|
|
"ataque del cosechado de la netDB es simplemente fijando la puerta de "
|
|
"salida(s) de túnel de entrada, ya sea aleatorizando los pares más lejos o"
|
|
" en los túneles. Para tratar con el ataque del predecesor por adversarios"
|
|
" con los que contacta el cliente, los puntos finales del túnel de salida "
|
|
"deberían permanecer también fijos. Para seleccionar que par fijar en el "
|
|
"punto más expuesto se necesitará, por supuesto, un límite de duración ya "
|
|
"que todos los pares fallan más tarde o más temprano, con lo cual podría "
|
|
"ser ajustado de manera reactiva o evitado de manera activa, para imitar "
|
|
"el tiempo medio de los fallos de otros ruters. Estas 2 estrategias pueden"
|
|
" ser combinadas en turnos, usando un par expuesto fijo y un orden basado "
|
|
"en XOR dentro de los propios túneles. Una estrategia más rígida sería "
|
|
"fijar los pares justos y ordenarlos en un túnel potencial, sólo usando "
|
|
"pares individuales si todos están de acuerdo en participar de la misma "
|
|
"forma cada vez. Esto varía del ordenado basado en XOR en que el "
|
|
"predecesor y sucesor de cada par es siempre el mismo, mientras que el XOR"
|
|
" asegura que el orden no cambie. "
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:322
|
|
#, python-format
|
|
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 ""
|
|
"Como se ha mencionado anteriormente, actualmente I2P (versión 0.8) "
|
|
"incluye la estrategia anterior de nivelado aleatorio, con ordenado basado"
|
|
" en XOR. Una discusión más detallada en los mecanismos de la utilización,"
|
|
" administración y selección de los pares de los túneles puede ser "
|
|
"encontrada en las <a href=\"%(tunnelimpl)s\">especificaciones del "
|
|
"túnel</a>."
|
|
|
|
#: 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 ""
|
|
"Como se ha dicho antes, las netDB de I2P trabaja para compartir los "
|
|
"metadatos de la red. Esto se detalla en <a href=\"%(netdb)s\">the network"
|
|
" database</a>, pero una explicación básica está disponible debajo."
|
|
|
|
#: 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 ""
|
|
"Un porcentaje de los usuarios de I2P son designados como 'pares "
|
|
"floodfill'. Actualmente, las instalaciones de I2P que tienen un gran "
|
|
"ancho de banda y son suficientemente rápidas se designarán ellas mismas "
|
|
"como floodfills tan pronto como el número de de ruters floodfill "
|
|
"existentes decrezca demasiado."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:343
|
|
#, python-format
|
|
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 ""
|
|
"Otros rutes I2P almacenarán sus datos y sus datos de búsqueda simplemente"
|
|
" enviando consultas 'store' y 'lookup' a los floodfills. Si un floodfill "
|
|
"recibe una consulta 'store', este difundirá la información a otros ruters"
|
|
" floodfill usando el <a "
|
|
"href=\"http://en.wikipedia.org/wiki/Kademlia\">algoritmo Kademlia</a>. "
|
|
"Las consultas 'lookup' funcionan de manera diferente para evitar un <a "
|
|
"href=\"%(netdb)s#lookup\">problema de seguridad</a> importante. Cuando se"
|
|
" hace una búsqueda, el ruter floodfill no re enviará la búsqueda a otros "
|
|
"pares, pero siempre responderá él mismo (si tiene la información "
|
|
"requerida)."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:353
|
|
msgid "Two types of information are stored in the network database."
|
|
msgstr "En la base de datos de la red se almacenan dos tipos de información."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:357
|
|
msgid ""
|
|
"A <b>RouterInfo</b> stores information on a specific I2P router and how "
|
|
"to contact it"
|
|
msgstr ""
|
|
"<b>RouterInfo</b> almacena información sobre un ruter I2P determinado y "
|
|
"como contactar con él. "
|
|
|
|
#: 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 ""
|
|
"<b>LeaseSet</b> almacena información sobre una destinación específica "
|
|
"(e.g. web I2P, servidor de correo...)"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:360
|
|
msgid ""
|
|
"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 ""
|
|
"Toda esta información es firmada par la parte publicadora y verificada "
|
|
"por cualquier ruter I2P que use o almacene la información. Además, los "
|
|
"datos contienen información de la fecha para evitar el almacenamiento de "
|
|
"entradas antiguas y posibles ataques. Esto es por que I2P empaqueta el "
|
|
"código necesario para mantener la fecha correcta, a veces consultando "
|
|
"algunos servidores SNTP (por defecto <a "
|
|
"href=\"http://www.pool.ntp.org/\">pool.ntp.org</a>) y detectando "
|
|
"diferencias entre los ruters y la capa de transporte."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:368
|
|
msgid "Some additional remarks are also important."
|
|
msgstr "Hay algunos comentarios adicionales que también son importantes:"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:373
|
|
msgid "Unpublished and encrypted leasesets:"
|
|
msgstr "Leasesets cifrados y no publicados:"
|
|
|
|
#: 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 ""
|
|
"Uno puede desear que sólo determinada gente sea capaz de alcanzar una "
|
|
"destinación. Esto es posible si no publica su destinación en la netDB. "
|
|
"Pero entonces deberá transmitir la destinación de alguna otra forma. Una "
|
|
"alternativa son los 'leaseSets' cifrados. Estos leaseSets' sólo pueden "
|
|
"ser decodificados por la gente con acceso a la clave de descrifrado."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:381
|
|
msgid "Bootstrapping:"
|
|
msgstr "Obteniendo los pares iniciales o Bootstrapping:"
|
|
|
|
#: 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 ""
|
|
"Bootstrapping en la netDB es muy simple. Una vez que un ruter recibe un "
|
|
"routerInfo de un par accesible, puede consultar a ese ruter por "
|
|
"referencias de otros ruters en la red. Actualmente varios usuarios "
|
|
"comparten sus archivos routerInfo en una web para hacer que la "
|
|
"información esté disponible. I2P se conecta automáticamente a una de "
|
|
"estas webs para obtener los archivos routerInfo y obtener los primeros "
|
|
"pares, bootstrap."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:390
|
|
msgid "Lookup scalability:"
|
|
msgstr "Escalabilidad de las búsquedas:"
|
|
|
|
#: 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 ""
|
|
"Las búsquedas en la red I2P no son enviadas a otras netDBs de otros "
|
|
"ruters. Actualmente no hay ningún problema ya que la red no es muy "
|
|
"grande. Aún así, según vaya creciendo la red no todos los routerInfos y "
|
|
"leaseSets estarán presentes en cada netDB de cada ruter. Esto causaría un"
|
|
" deterioro en el porcentaje de búsquedas con éxito. A causa de esto en "
|
|
"las prósimas versiones se mejorará la netDB."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:402
|
|
msgid ""
|
|
"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 ""
|
|
"La comunicación entre ruters necesita proporcionar confidencialidad e "
|
|
"integridad contra cualquier adversario externo mientras se autentifica "
|
|
"que el ruter contactado es el que debe recibir el mensaje. Los detalles "
|
|
"de como se comunican los ruters con otros ruters no son críticos - se han"
|
|
" usado tres protocolos diferentes en varios puntos para suplir estas "
|
|
"necesidades."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:410
|
|
#, python-format
|
|
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 ""
|
|
"I2P comenzó con un protocolo basado en TCP que ha sido deshabilitado. "
|
|
"Entonces, para adaptarse a las necesidades de comunicaciones de alto "
|
|
"nivel (ya que los ruters terminarán hablando con muchos otros ruters), "
|
|
"I2P cambió de un transporte basado en TCP a uno <a "
|
|
"href=\"%(ssu)s\">basado en UDP</a> - \"Secure Semireliable UDP\", \"UDP "
|
|
"seguro semi fiable o \"SSU\"."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:418
|
|
#, python-format
|
|
msgid "As described in the <a href=\"%(ssu)s\">SSU spec</a>:"
|
|
msgstr "Como se describe en la <a href=\"%(ssu)s\">especificación de SSU</a>:"
|
|
|
|
#: 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 ""
|
|
"El fin de este protocolo es proporcionar el envío seguro de mensajes, "
|
|
"autentificado, semi fiable y no ordenado, revelando sólo una pequeña "
|
|
"cantidad de datos fácilmente discernible para terceras partes. Debe "
|
|
"soportar sólo comunicaciones de alto nivel así como sistemas de control "
|
|
"de congestión amigables con TCP y debe incluir también detección PMTU. "
|
|
"Debe ser capaz de mover eficientemente un gran volumen de datos a "
|
|
"velocidades apropiadas para los usuarios domésticos. Además debe soportar"
|
|
" técnicas para lidiar con los obstáculos en la red, como NATs o "
|
|
"firewalls."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:432
|
|
#, python-format
|
|
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 ""
|
|
"Tras la introducción de SSU, y después de aparecer algunos problemas de "
|
|
"congestión, se implementó un nuevo transporte TCP basado en NIO llamado "
|
|
"<a href=\"%(ntcp)s\">NTCP</a>. Está activado por defecto sólo para las "
|
|
"conexiones de salida. Aquellos que configuran sus NAT/firewall para "
|
|
"permitir conexiones de entrada y especifican el puerto y host externo "
|
|
"(dyndns/etc es válido) en /config.jsp pueden recibir conexiones de "
|
|
"entrada. Al estar NTPC basado en NIO no sufre del problema de \"1 hilo "
|
|
"por conexión\" del viejo protocolo de transporte TCP."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:442
|
|
msgid ""
|
|
"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 ""
|
|
"I2P soporta simultáneamente varios tipos de transportes. Para conexiones "
|
|
"de salida se selecciona un determinado tipo de transporte a través de "
|
|
"\"pujas\". Cada tipo de transporte puja por la conexión y el valor "
|
|
"relativo de esa puja asignará la prioridad. Los transportes pueden "
|
|
"responder con varias apuestas, dependiendo de si ya hay una conexión "
|
|
"establecida con el par."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:450
|
|
#, python-format
|
|
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 ""
|
|
"La implementación actual clasifica en la mayoría de las situaciones a "
|
|
"NTPC como el sistema de transporte de mayor prioridad para conexiones de "
|
|
"salida. SSU está activo para las conexiones de entrada y de salida. Su "
|
|
"cortafuegos y su ruter I2P tienen estar configurados para permitir "
|
|
"conexiones de entrada NTCP. Para más información vea la <a "
|
|
"href=\"%(ntcp)s\">ṕagina de NTCP</a>."
|
|
|
|
#: 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 ""
|
|
"Un conjunto mínimo de cifrados son combinados para proveer a I2P defensas"
|
|
" contra varios adversarios. En el nivel más bajo la comunicación entre "
|
|
"ruters es protegida por la capa de seguridad de transporte - SSU cifra "
|
|
"cada paquete con AES256/CBC incluyendo un IV explícito y MAC (HMAC-"
|
|
"MD5-128), después de haber acordado una clave de sesión efímera a través "
|
|
"de un intercambio Diffie-Hellman de 2048bit, autenticación de estación a "
|
|
"estación con la clave DSA de los otros ruters, y además cada mensaje de "
|
|
"red tiene su propio hash para comprobar la integridad local. Los mensajes"
|
|
" de <a href=\"#op.tunnels\">túnel</a> ya transportados tienen su propio "
|
|
"cifrado por capas AES256/CBC con un IV explícito verificado en el punto "
|
|
"final del túnel con un hash adicional SHA256. Otros ciertos mensajes son "
|
|
"pasados dentro del \"mensaje garlic\" y son cifrados con "
|
|
"ElGamal/AES+Etiquetas de sesión (explicado más abajo)."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:474
|
|
msgid "Garlic messages"
|
|
msgstr "Mensajes Garlic"
|
|
|
|
#: 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 ""
|
|
"Los mensajes Garlic son una extensión de la capa de cifrado \"onion\", "
|
|
"permitiendo que el contenido de un simple mensaje contenga múltiples "
|
|
"\"clavos\" - mensajes formados completamente y con sus propias "
|
|
"instrucciones para el envío. Los mensajes son envueltos dentro de un "
|
|
"mensaje Garlic ya que de otra forma deberían enviarse en texto plano a "
|
|
"través de un par que no tiene que por que tener acceso a esa información "
|
|
"- por ejemplo, cuando un ruter quiere preguntar a otro ruter si participa"
|
|
" en un túnel, envuelven la solicitud dentro del garlic, y lo envían a "
|
|
"través de un túnel. Otro ejemplo es cuando un cliente quiere enviar un "
|
|
"mensaje a una destinación - el ruter del remitente envolverá los datos "
|
|
"del mensaje (junto con otros mensajes) dentro de un garlic, cifrará ese "
|
|
"garlic con la clave pública de 2048bit ElGamal publicada en el leaseSet "
|
|
"del beneficiario, y lo enviará a través de los túneles apropiados."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:490
|
|
msgid ""
|
|
"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 ""
|
|
"Las \"instrucciones\" adjuntas a cada clavo, 'clove', dentro de la capa "
|
|
"de cifrado incluye la habilidad de solicitar que el clavo sea enviado "
|
|
"localmente a un ruter remoto, o a un túnel remoto en un ruter remoto. Hay"
|
|
" campos en esas instrucciones que permiten a un par solicitar que el "
|
|
"envío sea retrasado un cierto tiempo o hasta que se cumpla cierta "
|
|
"condición, pero no funcionará hasta que los <a "
|
|
"href=\"#future.variablelatency\">retardos no triviales</a> funcionen en "
|
|
"estas versiones. Es posible enrutar explícitamente mensajes garlic de "
|
|
"cualquier número de saltos sin construir túneles, o incluso re enrutar "
|
|
"mensajes de túnel envolviéndolos en un mensaje garlic y enviándolos por "
|
|
"unos cuantos saltos antes de enviarlos al siguiente salto en el túnel, "
|
|
"pero estas técnicas no se usan en en las implementaciones existentes."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:503
|
|
msgid "Session tags"
|
|
msgstr "Etiquetas de sesión"
|
|
|
|
#: 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 ""
|
|
"Como un sistema basado en mensajes no ordenados y no fiables , I2P usa "
|
|
"una simple combinación de algoritmos de cifrado simétricos y asimétricos "
|
|
"para proporcionar la confidencialidad de los datos y la integridad de los"
|
|
" mensajes garlic. En conjunto, a la combinación se le llama "
|
|
"ElGamal/AES+Etiquetas de sesión, pero es una forma excesivamente larga de"
|
|
" describir el uso del 2048bit ElGamal, AES256, SHA256 y nonces de 32 "
|
|
"bytes."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:543
|
|
msgid ""
|
|
"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 ""
|
|
"Las etiquetas de sesión tienen un vida muy corta, después de la cual son "
|
|
"descartadas y no se usan más. Además, el número almacenado de ellas por "
|
|
"cada clave es limitado, como también está limitado el número de claves - "
|
|
"si llegan demasiadas, serán descartados los mensajes nuevos o los viejos."
|
|
" El remitente lleva el seguimiento de los mensajes con etiquetas de "
|
|
"sesión que pasan a través suyo, y si no hay comunicación suficiente "
|
|
"podría descartar los mensajes supuestamente enviados correctamente, "
|
|
"volviendo al costoso cifrado ElGamal."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:553
|
|
msgid ""
|
|
"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 ""
|
|
"Una alternativa sería transmitir sólo una etiqueta de sesión, y desde ahí"
|
|
" sembrar un PRNG determinista para determinar que etiquetas usar o "
|
|
"esperar. Manteniendo este PRNG bien sincronizado entre el remitente y el "
|
|
"receptor (el receptor precalcula por ejemplo las siguiente 50 etiquetas) "
|
|
"se evita la saturación de tener que calcular un gran número de etiquetas,"
|
|
" permitiendo más opciones en ese espacio/tiempo de intercambio, y quizás "
|
|
"reduciendo el número de cifrados necesarios de ElGamal. Sin embargo, "
|
|
"dependerá de la fortaleza de PRNG de proteger contra adversarios "
|
|
"internos, quizás limitando las veces que se usa cada PRNG se podrían "
|
|
"limitar las debilidades. Hasta el momento no hay planes inmediatos para "
|
|
"cambiar a estos PRNGs sincronizados."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:566
|
|
msgid "Future"
|
|
msgstr "El futuro"
|
|
|
|
#: 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 ""
|
|
"Mientras que I2P es suficientemente funcional en mucho escenarios, hay "
|
|
"varias áreas en las que requiere mejoras, como cubrir las necesidades de "
|
|
"aquellos que se enfrentan a adversarios poderoso o mejorar la experiencia"
|
|
" del usuario."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:573
|
|
msgid "Restricted route operation"
|
|
msgstr "Funcionamiento restringido del ruter"
|
|
|
|
#: 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 ""
|
|
"I2P es una red designada para ejecutarse sobre una red conmutada de "
|
|
"paquetes funcionales, usando el principio de fin a fin para ofrecer "
|
|
"anonimato y seguridad. Mientras que Internet ya no abraza el principio de"
|
|
" fin a fin (por el uso de NAT), I2P necesita tener a su disposición una "
|
|
"gran parte de la red - pueden haber algunos pares en los usando ruters "
|
|
"restringidos no accesibles, pero I2P no incluye un algoritmo apropiado de"
|
|
" enrutamiento para el extraño caso de que la mayoría de los pares no sean"
|
|
" accesibles. Aún así podría funcionar sobre una red que utilizase dicho "
|
|
"algoritmo."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:586
|
|
msgid ""
|
|
"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 ""
|
|
"El funcionamiento restringido del ruter, donde hay límites en el número "
|
|
"de ruters que son accesibles directamente, tiene varias funciones e "
|
|
"implicaciones en el anonimato dependiendo do como sean manejados los "
|
|
"ruters restringidos. En el nivel más básico los ruters restringidos "
|
|
"existen cuando un par está tras un NAT o cortafuegos que no permiten "
|
|
"conexiones entrantes. Esto fue solucionado en I2P 0.6.0.6 al integrar "
|
|
"\"perforación\" distribuida en la capa de transporte, permitiendo a la "
|
|
"gente tras NATs o cortafuegos recibir conexiones no solicitadas sin "
|
|
"ninguna configuración. Aún así esto no limita la exposición de la IP de "
|
|
"lo pres a los ruters dentro de la red, ya que estos pueden presentarse a "
|
|
"sí mismos al par a través del introductor ya publicado."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:599
|
|
msgid ""
|
|
"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 ""
|
|
"Más allá del manejo funcional de ruters restringidos hay 2 niveles de "
|
|
"operaciones restringidas que pueden usarse para limitar la exposición de "
|
|
"la dirección IP - usando túneles específicos para la comunicación y "
|
|
"ofreciendo 'ruters cliente'. En el primer caso, los ruters pueden, o "
|
|
"construir un nuevo conjunto de túneles o reutilizar su conjunto de "
|
|
"túneles publicando la gateway de entrada a algunos de ellos como parte de"
|
|
" su routerInfo en lugar de su dirección de transporte. Cuando un par "
|
|
"quiere ponerse en contacto con él, puede ver esas puertas de salida de "
|
|
"los túneles en la netDb y simplemente enviar el mensaje a través de uno "
|
|
"de los túneles publicados. Si el par detrás del ruter restringido quiere "
|
|
"conectarse, puede hacerlo directamente (si desea exponer su IP al otro "
|
|
"par) o indirectamente a trabés de sus túneles de salida. Cuando los "
|
|
"ruters con los tienen conexión directa quieren contactarlo (por ejemplo "
|
|
"para enviar mensajes de túnel), simplemente prioriza su conexión directa "
|
|
"sobre la puerta la puerta de salida del túnel ya publicada. El concepto "
|
|
"de 'ruters cliente' simplemente amplía la ruta restringida no publicando "
|
|
"ninguna dirección de ruter. Este tipo de ruters ni siquiera necesita "
|
|
"publicar si routerInfo en la netDb, simplemente proveyendo su routerInfo "
|
|
"firmado por sí mismo al par con el que contacta (esto es necesario para "
|
|
"pasar las claves públicas del riter). Ambos niveles de operaciones "
|
|
"restringidas del ruter están planeadas para la versión 2.0 de I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:621
|
|
msgid ""
|
|
"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 ""
|
|
"Existen inconvenientes para aquellos detrás de ruters restringidos ya que"
|
|
" participarán menos frecuentemente en los túneles de otra gente, y los "
|
|
"ruters a los que está conectado podrían ser capaces de descubrir patrones"
|
|
" en el tráfico que de otra forma no podrían verse. Por otro lado, si el "
|
|
"coste de exponer esos patrones es menor que el coste de de hacer que la "
|
|
"IP esté disponible, puede valer la pena. Esto, por supuesto, suponiendo "
|
|
"que los pares de los ruters con los que contacta el ruter restringido no "
|
|
"son hostiles - o por que la red es suficientemente grande como para que "
|
|
"la probabilidad de conectarse a un ruter hostil sea muy pequela, o porque"
|
|
" se usan pares de confianza (y quizás temporales)."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:633
|
|
msgid "Variable latency"
|
|
msgstr "Latencia variable"
|
|
|
|
#: 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 ""
|
|
"Incluso aunque la mayoría de los esfuerzos iniciales han sido para que "
|
|
"I2P tenga una comunicación de baja latencia, fue diseñado desde el "
|
|
"principio para servicios de latencia variable. Al nivel más básico, las "
|
|
"aplicaciones corriendo sobre I2P pueden ofrecer anonimato en "
|
|
"comunicaciones de media y alta latencia mientras mezcla su tráfico con "
|
|
"tráfico de baja latencia. Sin embargo, internamente I2P puede ofrecer sus"
|
|
" comunicaciones de media y alta latencia a través de su cifrado garlic - "
|
|
"especificando que el mensaje debe ser enviado después de un cierto "
|
|
"retraso, en un determinado momento, después de que hayan pasado cierto "
|
|
"número de mensajes o cualquier otra estrategia de mezclado. Con el "
|
|
"cifrado por capas sólo el ruter que hizo la petición de retraso sabrá que"
|
|
" el mensaje requiere alta latencia, permitiendo que el tráfico se mezcle "
|
|
"más con el tráfico de baja latencia. Una vez que la condición de "
|
|
"transmisión se cumple, el ruter que mantiene el clavo (que en sí mismo "
|
|
"podría ser como un mensaje garlic) simplemente envía su petición - a un "
|
|
"ruter, a un túnel, o, lo más probable, a una destinación cliente remota."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:651
|
|
msgid ""
|
|
"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 ""
|
|
"Hay un número bastante grande de formas de explotar esta capacidad de "
|
|
"comunicación de alta latencia en I2P, por el momento, hacerlo se ha "
|
|
"postergado hasta la versión 3.0 de I2P. Mientras tanto, aquellos que "
|
|
"requieran el anonimato que las comunicaciones de alta latencia pueden "
|
|
"ofrecer deben mirar en la capa de aplicación para obtenerlo. "
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:659
|
|
msgid "Open questions"
|
|
msgstr "Preguntas sin resolver"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:661
|
|
msgid "How to get rid of the timing constraint?"
|
|
msgstr "¿Cómo deshacerse de la restricción de tiempo?"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:662
|
|
msgid "Can we deal with the sessionTags more efficiently?"
|
|
msgstr "¿Podemos manejar más eficientemente las etiquetas de sesión?"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:663
|
|
msgid ""
|
|
"What, if any, batching/mixing strategies should be made available on the "
|
|
"tunnels?"
|
|
msgstr ""
|
|
"¿Cuales, si hay alguna, estrategias de mezclado deberían estar "
|
|
"disponibles en los túneles?"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:664
|
|
msgid ""
|
|
"What other tunnel peer selection and ordering strategies should be "
|
|
"available?"
|
|
msgstr ""
|
|
"¿Qué otras estrategias de selección de túneles de pares deberian estar "
|
|
"disponibles?"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:667
|
|
msgid "Similar systems"
|
|
msgstr "Sistemas similares"
|
|
|
|
#: 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 ""
|
|
"La arquitectura de I2P está basada en el concepto de software orientado a"
|
|
" mensajes, la topología de DHTs, el cifrado y anonimato de redes de "
|
|
"mezcla libres, y la adaptabilidad de las redes conmutadas de paquetes. Su"
|
|
" valor no reside en nuevos conceptos o algoritmos, sino en la cuidadosa "
|
|
"combinación de resultados de investigación de trabajos y sistemas ya "
|
|
"existentes. Mientras que hay varios esfuerzos similares a los que vale la"
|
|
" pena echar un ojo, se han elegido 2 en particular para comparaciones "
|
|
"técnicas y funcionales - Tor y Freenet."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:679
|
|
#, python-format
|
|
msgid "See also the <a href=\"%(comparisons)s\">Network Comparisons Page</a>."
|
|
msgstr ""
|
|
"Ver también la <a href=\"%(comparisons)s\">web de comparación entre "
|
|
"redes</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:684
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:749
|
|
msgid "website"
|
|
msgstr "página web"
|
|
|
|
#: 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 ""
|
|
"A primera vista, Tor e I2P tienen muchas similitudes en lo que se refiere"
|
|
" a funcionamiento y anonimato. Aunque I2P se empezó a desarrollar antes "
|
|
"eramos conscientes de los esfuerzos hechos al inicio de Tor, muchas de "
|
|
"las lecciones aprendidas de la red onion original y ZKS fueron integradas"
|
|
" en el diseño de I2P. En vez de construir un sistema centralizado y de "
|
|
"confianza con servidores de directorios, I2P tiene su propia base de "
|
|
"datos de red auto organizable en la que cada par toma la responsabilidad "
|
|
"de acceder al perfil de otros ruters para determinar como aprovechar los "
|
|
"recursos disponibles. Otra diferencia básica es que mitras I2P y Tor usan"
|
|
" rutas ordenadas y en capas (túneles y circuitos/streams), I2P es "
|
|
"fundamentalmente una red conmutada de paquetes, mientras que Tor es "
|
|
"fundamentalmente un circuito conmutado, permitiendo a I2P enrutar "
|
|
"evitando congestiones y otros fallos de la red transparentemente , operar"
|
|
" en vías redundantes, y hacer balance de carga de los datos a través de "
|
|
"los recursos disponibles. Mientras que Tor ofrece una funcionalidad tan "
|
|
"útil como el outproxy ofreciendo el descubrimiento y selección de "
|
|
"outproxy integrado, I2P deja esas decisiones sobre la capa de aplicación "
|
|
"a las aplicaciones ejecutándose sobre I2P - de hecho, I2P incluso ha "
|
|
"exteriorizado la librería de streaming tipo TCP a la capa de aplicación, "
|
|
"permitiendo a los desarrolladores el experimentar con diferentes "
|
|
"estrategias, usando el conocimiento específico de dominio para ofrecer "
|
|
"mejores rendimientos."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:707
|
|
msgid ""
|
|
"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 ""
|
|
"Desde el punto de vista del anonimato, cuando comparamos el núcleo de las"
|
|
" redes hay muchas similaridades entre ellos. Pero hay unas cuantas "
|
|
"diferencias claves. Cuando se trata de lidiar con adversario interno o "
|
|
"varios adversarios externos observando los propios flujos de datos, los "
|
|
"túneles simples de I2P exponen la mitad de información en el tráfico de "
|
|
"lo que exponen los circuitos dobles de Tor - una petición y respuesta "
|
|
"HTTP seguirían el mismo camino en Tor, mientras que I2P el paquete que "
|
|
"hace la consulta iría a través de uno o más túneles y el paquete con la "
|
|
"respuesta regresarían a través de otro o más túneles de entrada "
|
|
"diferentes. Mientras que la selección del orden y estrategias por parte "
|
|
"del par deberían ser suficientes para enfrentarse a los ataques de "
|
|
"predecesor, podríamos simplemente construir un túnel de entrada y de "
|
|
"salida a través de los mismos ruters."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:721
|
|
msgid ""
|
|
"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 ""
|
|
"Otro problema para el anonimato aparece en el uso por parte de Tor de la "
|
|
"creación telescópica de túnel, un simple contador y medidor de tiempo de "
|
|
"los paquetes que pasan a través de un nodo enemigo puede obtener "
|
|
"información estadística sobre la posición de la víctima en el circuito. "
|
|
"La creación unidireccional para cada mensaje en I2P hace que esta "
|
|
"información no sea expuesta. Ocultar la posición de un túnel es "
|
|
"importante, ya que un adversario podría montar una serie de potentes "
|
|
"ataques como el de predecesores, intersección y confirmación de tráfico."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:731
|
|
msgid ""
|
|
"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 ""
|
|
"El soporte de Tor de un segundo nivel de \"onion proxies\" ofrece un "
|
|
"grado de anonimato nada trivial, mientras que requiere un bajo coste de "
|
|
"entrada, mientras que I2P no ofrecerá este tipo de topoligía hasta la "
|
|
"versión <a href=\"#future.restricted\">2.0</a>."
|
|
|
|
#: 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 ""
|
|
"En conjunto, Tor e I2P se complementan el uno al otro - Tor funciona "
|
|
"ofreciendo outproxing a Internet de alta velocidad y anónimo, mientras "
|
|
"que I2P ofrece una red resistente y descentralizada dentro de sí mismo. "
|
|
"En teoría se pueden usar los 2 para obtener los mismos fines, pero dados "
|
|
"los limitados recursos de desarrollo, ambos tienen sus ventajas e "
|
|
"inconvenientes. Los desarrolladores de I2P han considerado los pasos "
|
|
"necesarios para modificar Tor para para la mejora del diseño de I2P, pero"
|
|
" preocupaciones sobre la viabilidad de Tor con bajo escasos recursos "
|
|
"sugiere que la arquitectura de enrutamiento de paquetes de I2P será capaz"
|
|
" de funcionar más eficientemente con recursos escasos."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:751
|
|
msgid ""
|
|
"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 ""
|
|
"Freenet jugó un rol importante en los primeros pasos del diseño de I2P - "
|
|
"mostrando pruebas de la viabilidad de una comunidad vibrante "
|
|
"completamente dentro de la red, mostrando que los peligros inherentes de "
|
|
"los outproxies podían ser evitados. La primera semilla de I2P comenzó "
|
|
"como el remplazo de una capa de comunicación para Freenet, al intentar "
|
|
"extraer la complejidad de una comunicación de punto a punto segura y "
|
|
"anónima de las complicaciones del almacenamiento distribuido resistente a"
|
|
" la censura. Aunque la final, algunos de los problemas de escalabilidad y"
|
|
" anonimato inherentes a los algoritmos de Freenet dejó claro que debería "
|
|
"enfocarse I2P para proveer una capa de comunicación anónima por sí misma "
|
|
"en vez de ser un componente de Freenet. A través de los años, los "
|
|
"desarrolladores de Freenet se han dado cuenta de las debilidades del "
|
|
"viejo diseño, provocando que sugiriesen que necesitarían una capa de "
|
|
"\"pre mezcla\" para ofrecer suficiente anonimato. En otras palabras, "
|
|
"Freenet debe ejecutarse sobre una mixnet como I2P o Tor, con \"nodos "
|
|
"cliente\" solicitando y publicando datos a través de la mixnet a los "
|
|
"\"nodos servidores\" los cuales entonces almacenan los datos de acuerdo "
|
|
"con la heurística de los algoritmos de almacenamiento de datos "
|
|
"distribuidos de Freenet."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:770
|
|
msgid ""
|
|
"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 ""
|
|
"Las funcionalidades de Freenet son muy complementarias a las de I2P, ya "
|
|
"que Freenet provee nativamente muchas herramientas para operar en "
|
|
"sistemas de media y alta latencia, mientras que I2P provee nativamente "
|
|
"una red de baja latencia adecuada para ofrecer anonimato. La lógica para "
|
|
"separar la mixnet de los datos distribuidos resistentes a censura, son "
|
|
"muy evidentes desde la perspectiva del anonimato, seguridad y de la "
|
|
"asignación de los recursos, con lo que esperamos que el equipo de "
|
|
"Freenet ponga sus esfuerzos en esta dirección, aunque sea reutilizando (o"
|
|
" ayudando a mejorar, si es necesario) las redes existentes como I2P y "
|
|
"Tor."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:781
|
|
msgid ""
|
|
"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 ""
|
|
"Vale la pena mencionar que recientemente ha habido discusiones y trabajos"
|
|
" realizados por los desarrolladores de Freent sobre una \"darknet "
|
|
"escalable global\" usando pares restringidos entre pares de varias "
|
|
"confianzas. Mientras que no se ha hecho pública suficiente información "
|
|
"sobre como funcionará ese sistema para una revisión completa, pero lo que"
|
|
" se ha dicho del anonimato y la escalabilidad parecen ser muy dudoso. En "
|
|
"particular, el uso apropiado de su uso contra regímenes hostiles ha sido "
|
|
"exagerado, y cualquier análisis de las implicaciones sobre la escasez de "
|
|
"recursos sobre la escalabilidad de la red han sido aparentemente "
|
|
"evitados. Existen otras preguntas sobre la posibilidad de análisis del "
|
|
"tráfico, confianza y otros temas, pero hace falta una revisión más "
|
|
"profunda de esta \"darknet escalable global\", pero deberán esperar "
|
|
"hasta que el equipo de Freenet ponga más información a disposición."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:797
|
|
msgid ""
|
|
"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 ""
|
|
"En sí, I2p no hace mucho - simplemente envía mensajes a destinaciones "
|
|
"remotas y recibe mensajes hacia destinaciones locales - la mayoría del "
|
|
"trabajo interesante es sobre las capas que hay sobre I2P. Por sí mismo "
|
|
"I2P puede verse como una capa de IP anónima y segura, y la <a "
|
|
"href=\"#app.streaming\">librería streaming</a> incluida como una "
|
|
"implementación de una capa TCP segura y anónima sobre I2P. Más allá de "
|
|
"esto, el <a href=\"#app.i2ptunnel\">I2PTunnel</a> expone un sistema "
|
|
"genérico TCP para entrar dentro o salir de la red I2P, más una gran "
|
|
"variedad de aplicaciones para proveer más funcionalidades a los usuarios "
|
|
"finales."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:808
|
|
msgid "Streaming library"
|
|
msgstr "Librería de transmisión"
|
|
|
|
#: 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 ""
|
|
"La librería de streaming de I2P puede verse como un interfaz genérico de "
|
|
"streaming (reflejando sockets TCP), y la implementación soporta el <a "
|
|
"href=\"http://en.wikipedia.org/wiki/Sliding_Window_Protocol\">protocolo "
|
|
"sliding window</a> con varias optimizaciones, para tener en cuenta los "
|
|
"altos retardos en I2P. Los streams individuales pueden ajustar el tamaño "
|
|
"máximo de paquetes y otras opciones, aunque la compresión por defecto de "
|
|
"4KB parece una compensación razonable entre el coste de ancho de banda de"
|
|
" reenviar los mensajes perdidos y la latencia de múltiples mensajes."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:819
|
|
msgid ""
|
|
"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 ""
|
|
"Además, en considerando el alto coste de un mensaje, la librería de "
|
|
"streaming para programar y enviar mensajes ha sido optimizada para "
|
|
"permitir que los mensajes individuales enviados contengan tanta "
|
|
"información como esté disponible. Por ejemplo, una pequeña transacción "
|
|
"HTTP enviada a través de la librería de streaming puede ser completada en"
|
|
" una simple vuelta - el primer mensaje empaqueta a SYN, FIN y un pequeña"
|
|
" carga (normalmente encaja una solicitud HTTP) y la respuesta empaqueta "
|
|
"el SYN, FIN, ACK y una pequeña carga (muchas respuestas HTTP encajan). "
|
|
"Mientras que el ACK adicional debe ser transmitido para decirle al "
|
|
"servido HTTP que el SYN/FIN/ACK ha llegado, el proxy HTTP local puede "
|
|
"enviar al navegador inmediatamente la respuesta completa."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:832
|
|
msgid ""
|
|
"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 ""
|
|
"En conjunto, la librería de streaming se parece mucho a una abstracción "
|
|
"de TCP, con sus sliding windows, algoritmos de control de congestión ( "
|
|
"inicio lento e impedimento de congestiones), y comportamiento general de "
|
|
"paquetes (ACK, SYN, FIN, RST, etc)."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:839
|
|
msgid "Naming library and addressbook"
|
|
msgstr "Librería de dominios y libreta de direcciones"
|
|
|
|
#: 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 ""
|
|
"Para más información vea la web <a href=\"%(naming)s\">librería de "
|
|
"dominios y libreta de direcciones </a>."
|
|
|
|
#: 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 "Desarrolado por: %(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 ""
|
|
"Los nombres de dominio en I2P han sido debatidos a menudo desde el "
|
|
"principio, con defensores para todos los tipos de posibilidades. Sin "
|
|
"embargo, y dada la necesidad de comunicaciones seguras y "
|
|
"descentralizadas, el sistema tradicional al estilo DNS no es viable, al "
|
|
"igual que no lo son los sistemas de votos en los que la \"mayoría "
|
|
"manda\". Por el contrario, I2P incluye una librería genérica para nombres"
|
|
" de dominios y una implementación básica diseñados para trabajar con "
|
|
"nombres locales y mapearlos, así como un pluguin opcional llamada "
|
|
"\"addressbook\", lista de direcciones. La lista de direcciones es un "
|
|
"sistema de dominios distribuido, basado en un sistema de confianza seguro"
|
|
" basado en web y legible, sólo sacrificando AQUÍ FALTA PARTE POR "
|
|
"TRADUCIR, incomprensible en inglés. Ya que todos los mensajes en I2P "
|
|
"están dirigidos criptográficamente por su destinación, diferentes "
|
|
"personas pueden tener entradas en la lista de direcciones para "
|
|
"\"Alilce\", pero refiriéndose a destinaciones diferentes. La gente puede "
|
|
"descubrir nuevos nombres importando lista de direcciones publicadas por "
|
|
"pares específicos de su web de confianza, añadiendo estas entradas a "
|
|
"través de una tercera parte, o (si alguien organiza listas de direcciones"
|
|
" usando sistema de registro tipo el primero que entra el primero es "
|
|
"servido) la gente puede escoger tratar estas lista de direcciones como "
|
|
"servidores de dominio, emulando los DNS tradicionales."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:866
|
|
msgid ""
|
|
"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 ""
|
|
"I2P no recomienda el uso de servicios tipo DNS, ya que el daño hecho por "
|
|
"una web maliciosas puede ser enorme - una destinación insegura no tiene "
|
|
"valor. DNSsec sigue apoyándose en autoridades certificadas, mientras que "
|
|
"con I2P las solicitudes a una destinación no pueden ser interceptadas o "
|
|
"la respuesta suplantada ya que están cifradas con la clave pública de la "
|
|
"destinación, y una destinación en sí misma no es más que un par de claves"
|
|
" y un certificado. Por otra parte, los sistemas del tipo DNS permiten que"
|
|
" cualquiera de los servidores en el camino de búsqueda pueda montar "
|
|
"ataques de denegación de servicio o ataques de suplantación. Añadiendo en"
|
|
" un certificado autentificándose la respuesta firmada por alguna "
|
|
"autoridad centralizada de certificados podría solucionar muchas de los "
|
|
"problemas con los servidores de dominio hostiles, pero lo dejaría abierto"
|
|
" a ataques de respuesta y a ataques de autoridad certificada hostil."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:880
|
|
msgid ""
|
|
"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 ""
|
|
"El sistema de dominios por votos también es peligroso, sobre todo por la "
|
|
"efectividad de los ataques Sybil en sistemas anónimos- el atacante puede "
|
|
"simplemente crear un número aleatorio muy grande de pares y \"votar\" con"
|
|
" cada uno para apoderarse de un dominio cualquiera. Existen métodos que "
|
|
"pueden usarse para hacer que crear una identidad no sea gratis, pero a "
|
|
"medida que la red crece la carga que se necesita para contactar a todos y"
|
|
" hacer votación online es enorme, o si no hace falta la red completa, se "
|
|
"podrían encontrar otras soluciones."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:890
|
|
msgid ""
|
|
"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 ""
|
|
"Aún así, al igual que con Internet, I2P mantiene el diseño y "
|
|
"funcionamiento de un sistema de dominios aparte de la capa de "
|
|
"comunicación (como IP). La librería de dominios incluye un interfaz "
|
|
"simple de servicio al cual puede conectarse cualquier sistema de "
|
|
"dominios, permitiendo a los usuarios finales elegir que tipo de sistema "
|
|
"de dominios prefieren."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:899
|
|
msgid ""
|
|
"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 ""
|
|
"El viejo Syndie incluido con I2P ha sido reemplazado con un nuevo Syndie,"
|
|
" el cual es distribuido aparte. Para más información vea la web de <a "
|
|
"href=\"http://syndie.i2p2.de/\">Syndie</a>."
|
|
|
|
#: 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 ""
|
|
"Syndie es un sistema seguro y anónimo para blogging / publicación de "
|
|
"contenido / agregación de contenidos. Le permite crear información, "
|
|
"compartirla con otros, y leer los mensajes de las personas en las que "
|
|
"está interesado, y todo mientras se toma en consideración sus necesidades"
|
|
" de anonimato y seguridad. En vez de construir su propia red de "
|
|
"contenidos, Syndie está diseñado para ejecutarse sobre redes ya "
|
|
"existentes, sindicando el contenido a través de eepsites, servicios "
|
|
"ocultos en Tor, webs de Freenet, webs normales, grupos de usenet, listas "
|
|
"de email, RSS, etc. Los datos publicados con Syndie ofrecen autenticación"
|
|
" seudo anónima para cualquiera leyendo o enviando datos."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:920
|
|
msgid ""
|
|
"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 ""
|
|
"I2pTunnel es probablemente la aplicación más versátil y popular de I2P, "
|
|
"permitiendo 'proxificar' dentro y fuera de la red I2P. Se puede ver "
|
|
"I2PTunnel como cuatro aplicaciones de proxy diferentes - un cliente que "
|
|
"recibe conexiones TCP de entrada y las envía a una destinación I2P, un "
|
|
"\"cliente http\" (\"eeproxy) que funciona con un proxy HTTP y envía las "
|
|
"peticiones a la destinación I2P apropiada (Después de preguntar a un "
|
|
"servicio de dominios si es necesario), un \"servidor\" el cual recibe "
|
|
"conexiones de entrada de I2P en una destinación y los envía a un "
|
|
"host+puerto TCP dado, y un \"servidor http\" el cual aplía el "
|
|
"\"servidor\" pasando las solicitudes y respuestas HTTP para permitir un "
|
|
"funcionamiento seguro. Hay una aplicación adicional \"socksclient\", pero"
|
|
" su uso no se fomenta por razones mencionadas anteriormente."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:934
|
|
msgid ""
|
|
"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 ""
|
|
"En sí mismo I2P no es una red creada para outproxy - los problemas de "
|
|
"seguridad de una red que envía datos dentro y fuera de esta han hecho que"
|
|
" el diseño de I2P se haya centrado en crear una red anónima con capacidad"
|
|
" para cubrir las necesidades de los usuarios sin necesitar recursos "
|
|
"externos. Aún así la aplicación de \"httpclient\" I2PTunnel ofrece la "
|
|
"posibilidad de 'outproxying' - si el nombre de dominio no termina en "
|
|
".i2p, elije una destinación aleatoria de una lista de outproxies para el "
|
|
"usuario dado y se lo envía. Estas destinaciones son simplemente "
|
|
"\"servidores\" I2PTunnels ejecutados por voluntarios que han decidido "
|
|
"explícitamente ejecutar outproxies - nadie es un outproxy por defecto, y"
|
|
" ejecutar un outproxy no hace que nadie pase automáticamente a través de "
|
|
"su ruter. Aunque los outproxys tienen debilidades inherentes, ofrecen un "
|
|
"servicio para I2P que tiene un modelo de seguridad que puede ser "
|
|
"suficiente para algunos usuarios."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:950
|
|
msgid ""
|
|
"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 ""
|
|
"I2PTunnel es el que permite el funcionamiento de la mayoría de las "
|
|
"aplicaciones. Un \"servidor http\" apuntando aun servidor web permite a "
|
|
"cualquiera tener su propia web anónima ( o \"eepsite\") - un servidor web"
|
|
" se incluye por defecto en I2P para este propósito, pero se puede "
|
|
"utilizar cualquier servidor web. Cualquiera puede ejecutar un \"cliente\""
|
|
" apuntando a cualquiera de los servidores IRC, todos ellos ejecutan un "
|
|
"\"servidor\" apuntando a su demonio IRCd local y comunicándose entre "
|
|
"servidores IRCd a través de sus propios túneles \"cliente\". Los usuarios"
|
|
" finales también tienen túneles clientes apuntando a las destinaciones "
|
|
"POP3 y SMTP de <a href=\"#app.i2pmail\">I2Pmail's</a> ( que realmente "
|
|
"sólo son simples instancias \"servidores\" apuntando a servidores POP3 y "
|
|
"SMTP), también hay túneles apuntando al servidor CVS de I2P, permitiendo "
|
|
"el desarrollo anónimo. Incluso a veces hay gente que ha ejecutado proxies"
|
|
" \"clientes\" para acceder instancias de \"servidores\" apuntando a "
|
|
"servidores NNTP."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:967
|
|
msgid ""
|
|
"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 ""
|
|
"I2p-bt es un port del cliente principal de BitTorrent en python para "
|
|
"usarse como par y tracker sobre I2P. Las peticiones del tracker son "
|
|
"enviadas a través del eepproxy a las eepsites especificadas en el archivo"
|
|
" torrent, mientras que las respuestas del tracker se refieren a los pares"
|
|
" explícitamente por su destinación, permitiendo a i2p-bt abrir una "
|
|
"conexión a la <a href=\"#app.streaming\">librería de streaming</a> para "
|
|
"preguntar por los bloques."
|
|
|
|
#: 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 ""
|
|
"Ademas de i2p-bt, se ha creado un port de bytemonsoon para I2P, haciendo "
|
|
"las modificaciones necesarias para separar las información comprometedora"
|
|
" de la aplicación y tomar en consideración el hecho de que las IPs no "
|
|
"pueden usarse para identificar los pares."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:984
|
|
msgid ""
|
|
"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 ""
|
|
"I2Psnark es programado por jrandom y otros, portado desde el cliente <a "
|
|
"href=\"http://www.klomp.org/snark/\">Snark</a> de <a "
|
|
"href=\"http://www.klomp.org/mark/\">mjw</a>."
|
|
|
|
#: 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 ""
|
|
"Incluido en la instalación de I2P, I2PSnark ofrece un cliente anónimo de "
|
|
"BitTorrent con capacidades para multitorrents, mostrando todas sus "
|
|
"funcionaliudades a través de in unterfaz web HTML."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:999
|
|
#, python-format
|
|
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 ""
|
|
"Robert es un cliente Bittorrent escrito en Python. Se aloja en <a "
|
|
"href=\"http://%(bob)s/Robert.html\">http://%(bob)s/Robert.html</a> <!-- "
|
|
"TODO: desarrollar -->"
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:1007
|
|
#, fuzzy, 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 ""
|
|
"PyBit es un cliente Bittorrent escrito en python. Se aloja en <a "
|
|
"href=\"http://%(pebcache)s/\">http://%(pebcache)s/</a> <!-- TODO: "
|
|
"desarrollar -->"
|
|
|
|
#: 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 ""
|
|
"I2Phex es un port de Phex, el cliente de para compartir archivos "
|
|
"Gnutella, para ser ejecutado en I2P. Aunque se han deshabilitado algunas "
|
|
"funciones de Phex, como la integración los los webcaches de GNUtella, los"
|
|
" sistemas básicos de compartición y chateo son funcionales."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:1025
|
|
msgid ""
|
|
"iMule is a fairly direct port of the aMule filesharing client \n"
|
|
"running entirely inside I2P."
|
|
msgstr ""
|
|
"iMule es un port del cliente p2p aMule, que funciona completamente dentro"
|
|
" de I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:1033
|
|
#, python-format
|
|
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 ""
|
|
"I2Pmail es más un servicio que una aplicación - postman ofrece correos "
|
|
"internos y externos con servicios POP3 y SMTP a través de instancias de "
|
|
"I2PTunnel que acceden a una serie de componentes desarrollados con "
|
|
"mastiejaner, permitiendo a la gente usar su cliente de correo favorito "
|
|
"para enviar y recibir seudoanónimamente. Ya que la mayoría de los "
|
|
"clientes de mail muestran demasiado información identificativa, I2P "
|
|
"incluye el cliente susimail basado en web de susi23 construido "
|
|
"específicamente para las necesidades de anonimato de I2P. El servicio de "
|
|
"I2Pmail/mail.i2p ofrece filtrado transparente de virus así como "
|
|
"protección contra ataques DOS con cuotas de hashcash. Además, cada "
|
|
"usuario tiene control de su estrategia de lotes antes de enviar a través "
|
|
"de los outproxies de mail.i2p, que están separados de los servidores de "
|
|
"SMTP y POP3 de mail.i2p - los inproxies y outproxies se comunican con los"
|
|
" servidores SMTP y POP3 a través de I2P, con lo cual si se comprometen "
|
|
"localizaciones no anónimas no se da acceso a la actividad de las cuentas "
|
|
"de correo o las pautas del usuario. En este momento los desarrolladores "
|
|
"trabajan en un sistema de correo descentralizado, llamado \"v2mail\". Se "
|
|
"puede encontrar más información en <a "
|
|
"href=\"http://%(postman)s/\">%(postman)s</a>."
|
|
|
|
#: 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 es un aplicación distribuida de correo. No usa el modelo "
|
|
"tradicional de enviar un correo a un servidor y obtenerlo de ese "
|
|
"servidor. En cambio, usa el sistema distribuido de tablas hash Kademila "
|
|
"para almacenar los correos. Un usuario puede enviar el correo al DHT, "
|
|
"mientras que otro puede obtener al correo del DHT. Y todos los correos "
|
|
"enviados con la red I2P-Bote son automáticamente cifrados de fin a "
|
|
"fin.<br> Además, I2P-Bote ofrece una función de remailer sobre I2P, para "
|
|
"el anonimato de alta latencia."
|
|
|
|
#: i2p2www/pages/site/docs/how/tech-intro.html:1065
|
|
msgid ""
|
|
"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 ""
|
|
"I2P-Messenger es un aplicación de comunicación cifrada de fin a fin. Para"
|
|
" la comunicación entre 2 usuarios sólo necesitan compartir entre ellos "
|
|
"las claves de destino. Soporta transferencia de archivos y búsqueda de "
|
|
"otros usuarios, basada en Seedlees."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:2
|
|
msgid "I2P's Threat Model"
|
|
msgstr "Modelos de riesgo en I2P"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:3
|
|
msgid "November 2010"
|
|
msgstr "Noviembre 2010"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:6
|
|
msgid "What do we mean by \"anonymous\"?"
|
|
msgstr "¿Qué quiere decir con \"anónimo\"?"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:8
|
|
msgid ""
|
|
"Your level of anonymity can be described as \"how hard it is for someone\n"
|
|
"to find out information you don't want them to know?\" - who you are, "
|
|
"where\n"
|
|
"you are located, who you communicate with, or even when you communicate."
|
|
" \n"
|
|
"\"Perfect\" anonymity is not a useful concept here - software will not "
|
|
"make \n"
|
|
"you indistinguishable from people that don't use computers or who are not"
|
|
" on\n"
|
|
"the Internet. Instead, we are working to provide sufficient anonymity to"
|
|
" meet the\n"
|
|
"real needs of whomever we can - from those simply browsing websites, to "
|
|
"those exchanging\n"
|
|
"data, to those fearful of discovery by powerful organizations or states."
|
|
msgstr ""
|
|
"El nivel de anonimato se puede describir \"como la dificultad para "
|
|
"alguien de encontrar información sobre usted que no quiere que sea "
|
|
"encontrada\" - quien es usted, su localización, con quien se comunica, o "
|
|
"incluso cuándo se comunica. El anonimato \"perfecto\" no es aquí un "
|
|
"concepto útil - las aplicaciones no le harán indistinguible de las "
|
|
"personas que no utilizan ordenadores o no usan Internet. Aún así "
|
|
"intentamos proveer suficiente anonimato pera cumplir las verdaderas "
|
|
"necesidades de quien podemos - de aquellos simplemente navegando por "
|
|
"webs, o para aquellos que intercambian información, hasta aquellos con "
|
|
"miedo de ser descubiertos por organizaciones poderosas o estados."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:19
|
|
msgid ""
|
|
"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 cuestión de si I2P provee suficiente anonimato para usted es una "
|
|
"pregunta difícil, pero esperemos que esta página le responda a esa "
|
|
"pregunta explorando como I2P opera ante varios atauqes y así puede "
|
|
"decidir si se amolda a sus necesidades."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:26
|
|
msgid ""
|
|
"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 ""
|
|
"Damos la bienvenida a más investigaciones y análisis sobre la resistencia"
|
|
" de I2P a las amenazas más abajo descritas. Se necesitan revisiones sobre"
|
|
" los textos ya existentes (la mayoría sobre Tor) y trabajos originales "
|
|
"sobre I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:32
|
|
msgid "Network Topology Summary"
|
|
msgstr "Sumario de la topología de la red"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:33
|
|
#, python-format
|
|
msgid ""
|
|
"I2P builds off the ideas of many <a href=\"%(comparisons)s\">other</a> \n"
|
|
"<a href=\"%(links)s\">systems</a>, but a few key points should be kept in"
|
|
" mind when \n"
|
|
"reviewing related literature:"
|
|
msgstr ""
|
|
"I2P se crea sobre las ideas de muchos <a "
|
|
"href=\"%(comparisons)s\">otros</a> \n"
|
|
"<a href=\"%(links)s\">sistemas</a>, pero a la hora de revisar la "
|
|
"información hay que tener en cuenta varios puntos:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:39
|
|
msgid ""
|
|
"<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 es una mixnet de rutas libres</b> - el creador del mensaje define "
|
|
"explícitamente el camino que seguirán los mensajes enviados (el túnel de "
|
|
"salida), y el receptor del mensaje define explícitamente el camino por el"
|
|
" cual serán recibidos los mensajes (el túnel de entrada)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:45
|
|
msgid ""
|
|
"<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 no tiene puntos de entrada y salida oficiales</b> - todos los "
|
|
"pares participan completamente en la mezcla, y no hay proxies de entrada "
|
|
"o salida en la capa de red (aún así existen varios proxies de salida en "
|
|
"la capa de aplicación)"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:50
|
|
msgid ""
|
|
"<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 es totalmente distribuido</b> - no existen centros de control o "
|
|
"autoridades. Cualquiera pude modificar algunos ruters para operar "
|
|
"cascadas de mezcla (construyendo túneles y dando las claves necesarias "
|
|
"para controlar el envío al final del túnel) o controlar los perfiles de "
|
|
"los directorios, todo esto sin romper la compatibilidad con el resto de "
|
|
"la red, pero por supuesto no es necesario hacer nada de esto (y además "
|
|
"podría poner en peligro su anonimato)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:60
|
|
#, python-format
|
|
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 ""
|
|
"Tenemos planes documentados para implementar <a "
|
|
"href=\"%(todo)s#stop\">retardos no triviales</a> y <a "
|
|
"href=\"%(todo)s#batching\">estrategias de procesados por lote</a> cuya "
|
|
"estrategia es sólo conocida por un salto en particular o por las puerta "
|
|
"de salida del túnel que recibe el mensaje, permitiendo una red de baja "
|
|
"latencia para proveer tráfico de cobertura para las comunicaciones de "
|
|
"mayor latencia (por ejemplo correos). Aún así somos conscientes de que "
|
|
"son necesarios retardos importantes para proveer una protección útil, y "
|
|
"la implementación de esos retardos será un gran desafío. No está claro "
|
|
"aún si implementaremos estas características de retardo."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:71
|
|
msgid ""
|
|
"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 teoría, los ruters a lo largo del camino pueden inyectar un número "
|
|
"arbitrario de saltos antes de enviar el mensaje al siguiente par, pero la"
|
|
" implementación actual no lo hace."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:78
|
|
msgid "The Threat Model (Attacks)"
|
|
msgstr "El modelo de reisgos (Ataques)"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:79
|
|
msgid ""
|
|
"I2P design started in 2003, not long after the advent of\n"
|
|
"<a href=\"http://www.onion-router.net\">[Onion Routing]</a>,\n"
|
|
"<a href=\"http://freenetproject.org/\">[Freenet]</a>, and\n"
|
|
"<a href=\"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:89
|
|
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 ""
|
|
"Teniendo en cuenta los ataques y análisis en la <a "
|
|
"href=\"http://freehaven.net/anonbib/topic.html\">literatura sobre el "
|
|
"anonimato</a> (en gran parte <a "
|
|
"href=\"http://citeseer.ist.psu.edu/454354.html\">Traffic Analysis: "
|
|
"Protocols, Attacks, Design ⏎\n"
|
|
"Issues and Open Problems</a>), a continuación describimos brevemente un "
|
|
"gran variedad de ataques así como las defensas en i2P.Actualizaremos esta"
|
|
" lista según sean identificados nuevos ataques."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:98
|
|
msgid ""
|
|
"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 ""
|
|
"Se incluyen algunos ataques que pueden ser solamente para I2P. No tenemos"
|
|
" soluciones perfectas para esos ataques, pero continuamos estudiando como"
|
|
" defendernos de ellos."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:104
|
|
msgid ""
|
|
"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 ""
|
|
"Además, muchos de esos ataques son significativamente más fáciles de lo "
|
|
"que deberían ser debido al pequeño tamaño actual de la red. Aunque somos "
|
|
"conscientes de algunas limitaciones que deben ser reparadas, I2P está "
|
|
"diseñado para soportar cientos de miles, o millones de pares. Según "
|
|
"vayamos difundiendo la palabra y la red crezca, esos ataques serán mucho "
|
|
"mas difíciles de llevar acabo."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:114
|
|
#, python-format
|
|
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 ""
|
|
"Vale la pena re leer las páginas <a href=\"%(comparisons)s\">comparación "
|
|
"entre redes</a> y <a href=\"%(garlicrouting)s\">\"terminología garlic</a>"
|
|
" sobre el tema."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:121
|
|
msgid "Index"
|
|
msgstr "Índice"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:123
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:143
|
|
msgid "Brute force attacks"
|
|
msgstr "Ataques de fuerza bruta"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:124
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:185
|
|
msgid "Timing attacks"
|
|
msgstr "Ataques de fecha"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:125
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:220
|
|
msgid "Intersection attacks"
|
|
msgstr "Ataques por intersección"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:126
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:298
|
|
msgid "Denial of service attacks"
|
|
msgstr "Ataques de denegación de servicio"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:127
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:385
|
|
msgid "Tagging attacks"
|
|
msgstr "Ataques de etiquetas"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:128
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:400
|
|
msgid "Partitioning attacks"
|
|
msgstr "Ataques de particiones"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:129
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:438
|
|
msgid "Predecessor attacks"
|
|
msgstr "Ataques del predecesor"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:130
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:481
|
|
msgid "Harvesting attacks"
|
|
msgstr "Ataques de cosechado"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:131
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:525
|
|
msgid "Identification Through Traffic Analysis"
|
|
msgstr "Identificación a través de análisis del tráfico"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:132
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:582
|
|
msgid "Sybil attacks"
|
|
msgstr "Ataques Sybil"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:133
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:629
|
|
msgid "Buddy Exhaustion attacks"
|
|
msgstr "Ataques por agotamiento de amigos"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:134
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:651
|
|
msgid "Cryptographic attacks"
|
|
msgstr "Ataques de cifrados"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:135
|
|
msgid "Floodfill attacks"
|
|
msgstr "Ataques "
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:136
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:707
|
|
msgid "Other Network Database attacks"
|
|
msgstr "Otros ataques a la base de datos de la red"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:137
|
|
msgid "Attacks on centralized resources"
|
|
msgstr "Ataques a recursos centralizados"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:138
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:770
|
|
msgid "Development attacks"
|
|
msgstr "Ataques de desarrollo"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:139
|
|
msgid "Implementation attacks"
|
|
msgstr "Ataques de implementación"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:140
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:849
|
|
msgid "Other Defenses"
|
|
msgstr "Otras defensas"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:145
|
|
msgid ""
|
|
"A brute force attack can be mounted by a global passive or active "
|
|
"adversary, \n"
|
|
"watching all the messages pass between all of the nodes and attempting to"
|
|
" correlate\n"
|
|
"which message follows which path. Mounting this attack against I2P "
|
|
"should be \n"
|
|
"nontrivial, as all peers in the network are frequently sending messages "
|
|
"(both\n"
|
|
"end to end and network maintenance messages), plus an end to end message "
|
|
"changes\n"
|
|
"size and data along its path. In addition, the external adversary does "
|
|
"not have\n"
|
|
"access to the messages either, as inter-router communication is both "
|
|
"encrypted\n"
|
|
"and streamed (making two 1024 byte messages indistinguishable from one "
|
|
"2048 byte\n"
|
|
"message)."
|
|
msgstr ""
|
|
"Un ataque por fuerza bruta puede ser montado por adversarios pasivos o "
|
|
"activos, observando todos los mensajes que pasan entre todos los nodos e "
|
|
"intentarlo averiguar que mensaje sigue qué camino. Montar este ataque "
|
|
"sobre I2P no debería ser trivial, ya que todos los pares en la red envían"
|
|
" mensajes frecuentemente (de fin a fin y mensajes de mantenimiento de la "
|
|
"red), además un mensaje de fin a fin cambia su tamaño y datos a lo largo "
|
|
"de su camino. Además, un adversario externo tampoco tiene acceso al "
|
|
"mensaje, ya que la comunicación interna entre ruters está cifrada y es "
|
|
"enviada (haciendo que un mensaje de 1024 bytes sea indistinguible de un "
|
|
"mensaje de 2048 bytes)"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:157
|
|
msgid ""
|
|
"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 ""
|
|
"Aún así, un atacante poderoso podría usar la fuerza bruta para detectar "
|
|
"tendencias - si puede enviar 5GB a una destinación I2P y monitorizar las "
|
|
"conexiones de red de todos, podría eliminar a todos los pares que no "
|
|
"recibieron los 5Gb de datos. Existen técnicas para evitar este ataque, "
|
|
"pero pueden ser prohibitivamente caras (vea <a "
|
|
"href=\"http://citeseer.ist.psu.edu/freedman02tarzan.html\">Tarzan</a>). A"
|
|
" la mayoría de los usuarios no les debería preocupar este ataque, ya que "
|
|
"el coste de montarlo es enorme (y normalmente ilegal). Aún así, el ataque"
|
|
" es plausible, por ejemplo, para un observador en un ISP o en un punto de"
|
|
" cambio de Internet. Los que deseen protegerse de este ataque deben tomar"
|
|
" las medidas necesarias, como poner límites bajos al ancho de banda, y "
|
|
"usar leasesets cifrados o no publicados para las eepsites. Otras medidas,"
|
|
" como retardos no triviales y rutas restringidas no se han implementado."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:174
|
|
#, python-format
|
|
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 ""
|
|
"Como una defensa parcial contra un ruter o varios tratando de enrutar "
|
|
"todo el tráfico de la red, los ruters contienen límites como el número de"
|
|
" túneles que puede pasar por un único ruter. Según crezca la red, estos "
|
|
"límites serán ajustados. Otros mecanismos como la clasificación, "
|
|
"selección y anulación de los ruters son discutidos en la <a "
|
|
"href=\"%(peerselection)s\">página de selección de ruters</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:187
|
|
msgid ""
|
|
"I2P's messages are unidirectional and do not necessarily imply that a "
|
|
"reply\n"
|
|
"will be sent. However, applications on top of I2P will most likely have\n"
|
|
"recognizable patterns within the frequency of their messages - for "
|
|
"instance, an \n"
|
|
"HTTP request will be a small message with a large sequence of reply "
|
|
"messages \n"
|
|
"containing the HTTP response. Using this data as well as a broad view of"
|
|
" the \n"
|
|
"network topology, an attacker may be able to disqualify some links as "
|
|
"being too \n"
|
|
"slow to have passed the message along."
|
|
msgstr ""
|
|
"Los mensajes de I2P son unidireccionales, y no implican necesariamente "
|
|
"que se enviará una respuesta. Aún así, las aplicaciones sobre I2P tienen "
|
|
"patrones reconocibles dentro de las frecuencias de sus mensajes - por "
|
|
"ejemplo, una petición HTTP tendrá un pequeño mensaje con una secuencia "
|
|
"larga de mensajes de respuesta conteniendo las respuestas HTTP. "
|
|
"Utilizando esta información y teniendo una vista general de la topología "
|
|
"de la red, un atacante podría inhabilitar algunos enlaces como mensajes "
|
|
"demasiado lentos como para ser pasados."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:197
|
|
msgid ""
|
|
"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 ""
|
|
"Este tipo de taques es poderoso, pero su aplicación a I2P no es obvia. "
|
|
"Debido a la variación de los retardos de los mensajes en las colas, "
|
|
"procesamiento de los mensajes y estrechamientos, a menudo excederán el "
|
|
"tiempo para pasar un mensaje a través de un enlace - incluso cuando un "
|
|
"atacante sabe que una respuesta será enviada tan pronto como el mensaje "
|
|
"llegue. Aunque hay varios escenarios en los cuales se exponen respuestas "
|
|
"casi automáticas - la librería de streaming lo hace (con el SYN+ACK) al "
|
|
"igual que que el modo de mensaje de la garantía del envío ( con el "
|
|
"DataMessage+DeliveryStatusMessage)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:207
|
|
#, python-format
|
|
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 ""
|
|
"Sin la depuración del protocolo y unas mayores latencias, adversarios "
|
|
"globales pueden obtener bastante información. Por eso, la gente "
|
|
"preocupada por estos ataques puede aumentar la latencia (usando <a "
|
|
"href=\"%(todo)s#stop\">retardos no triviales</a> o\n"
|
|
"<a href=\"%(todo)s#batching\">estrategias de procesado por lotes</a>), "
|
|
"incluyendo la depuración del protocolo, o las <a "
|
|
"href=\"%(todo)s#batching\">técnicas</a> de enrutado avanzado de túneles, "
|
|
"pero estas no están implementadas en I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:216
|
|
#, python-format
|
|
msgid ""
|
|
"References: <a href=\"%(pdf)s\">Low-Resource Routing Attacks Against "
|
|
"Anonymous Systems</a>"
|
|
msgstr ""
|
|
"Referencias: <a href=\"%(pdf)s\">Low-Resource Routing Attacks Against "
|
|
"Anonymous Systems</a>"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:222
|
|
msgid ""
|
|
"Intersection attacks against low latency systems are extremely powerful -"
|
|
"\n"
|
|
"periodically make contact with the target and keep track of what peers "
|
|
"are on\n"
|
|
"the network. Over time, as node churn occurs the attacker will gain \n"
|
|
"significant information about the target by simply intersecting the sets "
|
|
"of\n"
|
|
"peers that are online when a message successfully goes through. The cost"
|
|
" of \n"
|
|
"this attack is significant as the network grows, but may be feasible in "
|
|
"some\n"
|
|
"scenarios."
|
|
msgstr ""
|
|
"Los ataques de intersección contra los sistemas de baja latencia son "
|
|
"realmente poderosos - contactando con el objetivo periódicamente y "
|
|
"llevando el registro de los pares que hay en la red. Con el tiempo, y con"
|
|
" el movimiento, el atacante obtendrá bastante información sobre el "
|
|
"objetivo simplemente observando los pares que hay online cuando un "
|
|
"mensaje pasa a través. El costo de este ataque aumenta según aumenta el "
|
|
"tamaño de la red, pero puede ser válido en varios escenarios."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:232
|
|
#, python-format
|
|
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 ""
|
|
"En resumen, si un atacante está al inicio y al final de tu túnel al mismo"
|
|
" tiempo podría tener éxito. I2P no tiene defensa contra este ataque en "
|
|
"una comunicación de baja latencia. Esto es una debilidad inherente del "
|
|
"enrutado onion de baja latencia. Tor proporciona una <a "
|
|
"href=\"%(url)s\">aclaración similar</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:240
|
|
msgid "Partial defenses implemented in I2P:"
|
|
msgstr "Defensa parcialmente implementada en I2P:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:244
|
|
#, python-format
|
|
msgid "<a href=\"%(tunnelimpl)s#ordering\">strict ordering</a> of peers"
|
|
msgstr "<a href=\"%(tunnelimpl)s#ordering\">orden estricto</a> de pares"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:247
|
|
#, python-format
|
|
msgid ""
|
|
"<a href=\"%(peerselection)s\">peer profiling and selection</a> from a "
|
|
"small group that changes slowly"
|
|
msgstr ""
|
|
"<a href=\"%(peerselection)s\">selección y perfiles de los pares</a> de un"
|
|
" pequeño grupo que cambia lentamente"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:250
|
|
msgid "Limits on the number of tunnels routed through a single peer"
|
|
msgstr "Límite en el número de túneles rutados a través de un solo par"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:253
|
|
msgid ""
|
|
"Prevention of peers from the same /16 IP range from being members of a "
|
|
"single tunnel"
|
|
msgstr ""
|
|
"Prevención de pares del mismo rango /16 de IPs por ser miembros del mismo"
|
|
" único túnel."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:256
|
|
msgid ""
|
|
"For eepsites or other hosted services, we support\n"
|
|
"simultaneous hosting on multiple routers, or\n"
|
|
"<a href=\"#intersection\">multihoming</a>"
|
|
msgstr ""
|
|
"Para eepsites y servicios alojados, está soportado el alojamiento "
|
|
"simultáneo en múltiples ruters, o <a "
|
|
"href=\"#intersection\">multihoming</a>"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:263
|
|
msgid ""
|
|
"Even in total, these defenses are not a complete solution.\n"
|
|
"Also, we have made some design choices that may significantly increase "
|
|
"our vulnerability:"
|
|
msgstr ""
|
|
"Incluso usando todas ellas, estas defensas no son una solución completa. "
|
|
"Además, hemos hecho algunas elecciones de diseño que podrían incrementar "
|
|
"las vulnerabilidades: "
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:268
|
|
msgid "We do not use low-bandwidth \"guard nodes\""
|
|
msgstr "No utilizamos \"nodos guardianes\" de bajo ancho de banda"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:271
|
|
msgid ""
|
|
"We use tunnel pools comprised of several tunnels, and traffic can shift "
|
|
"from tunnel to tunnel."
|
|
msgstr ""
|
|
"Usamos grupos de túneles compuestos de varios túneles, y el tráfico puede"
|
|
" pasar de túnel a túnel."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:274
|
|
msgid "Tunnels are not long-lived; new tunnels are built every 10 minutes."
|
|
msgstr ""
|
|
"Los túneles no son de larga duración; los túneles se recrean cada 10 "
|
|
"minutos."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:277
|
|
msgid ""
|
|
"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 ""
|
|
"El tamaño de los túneles es configurable. Aunque se recomienda 3 saltos "
|
|
"por túnel para protección total, algunas aplicaciones y servicios usan "
|
|
"túneles de 2 saltos por defecto."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:284
|
|
#, python-format
|
|
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 ""
|
|
"En el futuro, esto podría ocurrir para los cares que puedan permitirse "
|
|
"retardos significativos (por <a href=\"%(todo)s#stop\">retardos no "
|
|
"triviales</a> y <a href=\"%(todo)s#batching\">estrategias de "
|
|
"batching</a>). Además, esto sólo es relevante para las destinaciones que "
|
|
"pueden ser conocidas por otra gente - un grupo privado cuya destinación "
|
|
"es sólo conocida por pares de confianza no tiene de que preocuparse, ya "
|
|
"que un adversario no puede contactarles,\"ping\" them, para montar el "
|
|
"ataque."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:293
|
|
#, python-format
|
|
msgid "Reference: <a href=\"%(oce)s\">One Cell Enough</a>"
|
|
msgstr "Referencia: <a href=\"%(oce)s\">One Cell Enough</a>"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:300
|
|
msgid ""
|
|
"There are a whole slew of denial of service attacks available against "
|
|
"I2P,\n"
|
|
"each with different costs and consequences:"
|
|
msgstr ""
|
|
"Hay un montón de ataques de denegación de servicio disponibles contra "
|
|
"I2P, cada cual con sus costes y consecuencias:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:305
|
|
msgid ""
|
|
"<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 ""
|
|
"<b>Ataque del usuario codiciose:</b> Esto es simplemente gente intentando"
|
|
" consumir muchas más recursos de los que están dispuestos a compartir. La"
|
|
" defensa contra este ataque es:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:311
|
|
#, python-format
|
|
msgid ""
|
|
"Set defaults so that most users provide resources to the network.\n"
|
|
"In I2P, users route traffic by default. In sharp distinction to\n"
|
|
"<a href=\"%(comparisons)s\">other networks</a>,\n"
|
|
"over 95% of I2P users relay traffic for others."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:317
|
|
msgid ""
|
|
"Provide easy configuration options so that users may increase their\n"
|
|
"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 "Proveer"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:322
|
|
msgid ""
|
|
"Maintain a strong community with blogs, forums, IRC, and other means of "
|
|
"communication."
|
|
msgstr ""
|
|
"Manteniendo una comunidad fuerte con blogs, foros, IRC y otras formas de "
|
|
"comunicación."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:327
|
|
#, 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 ""
|
|
"<b>Ataque por 'hambruna':</b> Un usuario hostil puede intentar dañar la "
|
|
"red creando un gran número de pares en la red ocultando que están bajo el"
|
|
" control de la misma persona (como con Sybil). Esos nodos deciden "
|
|
"entonces no dar recursos a la red , haciendo que los pares existentes "
|
|
"tengan que buscar una base de datos de red más grande o crear más túneles"
|
|
" de los necesarios. Además, los nodos pueden ofrecer servicio "
|
|
"intermitente eliminando periódicamente el tráfico elegido, o negando las "
|
|
"conexiones a ciertos pares,. Este funcionamiento puede no diferenciarse "
|
|
"del de un nodo saturado y con fallos. I2P soluciona este problema "
|
|
"manteniendo <a href=\"%(peerselection)s\">perfiles</a> de los pares, "
|
|
"intentando identificar los que funciona mal e ignorándolos , o usándolos "
|
|
"raramente. Hemos hechos grandes avances en el reconocimiento de los pares"
|
|
" problemáticos; aún así todavía se requieren grandes esfuerzos en este "
|
|
"área."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:344
|
|
#, python-format
|
|
msgid ""
|
|
"<b>Flooding attack:</b> A hostile user may attempt to flood the network,\n"
|
|
"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 ""
|
|
"<b>Ataque por inundación, flooding:</b> Un usuario hostil puede intentar "
|
|
"inundar o saturar, la red, un par, una destinación o un túnel. La "
|
|
"saturación de la red y de los pares es factible, e I2P no hace nada por "
|
|
"prevenir la saturación de la capa de IP. Es posible saturar una "
|
|
"destinación enviando un gran número de mensajes a las puertas de salida "
|
|
"de los túneles de entrada, pero el destinatario tendrá conocimiento del "
|
|
"ataque por los contenidos de los mensajes y porque las pruebas de los "
|
|
"túneles fallarán. Lo mismo ocurre con la saturación de un solo túnel. I2P"
|
|
" no tiene defensas para el ataque a la red por inundación. Para el ataque"
|
|
" por inundación de una destinación o un túnel, el objetivo identifica "
|
|
"cuales túneles no responden y crea unos nuevos. Se podría añadir nuevo "
|
|
"código para aumentar el número de túneles por si el cliente desease "
|
|
"manejar la sobrecarga. Si, por otra parte, la carga es mayor de lo que el"
|
|
" cliente puede soportar, puede instruir a los túneles para acelerar el "
|
|
"número de mensajes o bytes que deben ser pasados (una vez que se "
|
|
"implemente el <a href=\"%(todo)s#batching\">funcionamiento avanzad de los"
|
|
" túneles</a>)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:360
|
|
msgid ""
|
|
"<b>CPU load attack:</b> There are currently some methods for people to \n"
|
|
"remotely request that a peer perform some cryptographically expensive \n"
|
|
"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 ""
|
|
"<b>Ataque de carga de CPU:</b> Hay algunos métodos que pueden hacer que "
|
|
"algún usuario remoto solicite que un par haga operaciones de cifrados muy"
|
|
" costosas, y un usuario hostil puede usar esto para saturar el par con un"
|
|
" gran número de solicitudes e intentar saturar la CPU. Usando buenas "
|
|
"prácticas de ingeniería y exigiendo certificados no triviales (por "
|
|
"ejemplo HashCash) puede mitigarse el problema, aunque hay posibilidad "
|
|
"también de que un atacante explote algún error en la implementación."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:370
|
|
#, 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 ""
|
|
"<b>Ataque floodfill de denegación de servicio:</b> Un usuario hostil "
|
|
"puede intentar dañar la red convirtiéndose en un ruter floodfill. Las "
|
|
"defensas actuales contra los ruters floodfill no confiables, "
|
|
"intermitentes o maliciosos son pobres actualmente. Un ruter floodfill "
|
|
"puede dar respuestas falsas o no darlas a las búsquedas, y puede también "
|
|
"interferir en las comunicaciones entre floodfills. Se han implementado "
|
|
"algunas defensas y el<a href=\"%(peerselection)s\">control de "
|
|
"perfiles</a>, aún así hay mucho por hacer todavía. Para más información "
|
|
"vea la <a href=\"%(netdb)s#threat\">web de la base de datos de la "
|
|
"red</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:386
|
|
#, python-format
|
|
msgid ""
|
|
"Tagging attacks - modifying a message so that it can later be identified"
|
|
" \n"
|
|
"further along the path - are by themselves impossible in I2P, as messages"
|
|
" \n"
|
|
"passed through tunnels are signed. However, if an attacker is the "
|
|
"inbound \n"
|
|
"tunnel gateway as well as a participant further along in that tunnel, "
|
|
"with\n"
|
|
"collusion they can identify the fact that they are in the same tunnel "
|
|
"(and \n"
|
|
"prior to adding <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 ""
|
|
"Los ataques de etiquetado - modificando un mensaje de tal forma que más "
|
|
"tarde pueda ser identificado en el camino - son imposibles en I2P, ya que"
|
|
" los mensajes enviados a través de los túneles están firmados. Aún así, "
|
|
"si un atacante es la puerta de salida del túnel de entrada y es también "
|
|
"un participante en otro lugar del mismo túnel, puede identificar el hecho"
|
|
" de que están en el mismo túnel (y antes de añadir el <a "
|
|
"href=\"%(todo)s#tunnelId\">id único del salto</a> y otros cambios, los "
|
|
"pares coincidentes dentro del mismo túnel pueden reconocer este hecho sin"
|
|
" ningún esfuerzo). Pero un atacante en el túnel de salida y en cualquier "
|
|
"otra parte de un túnel de entrada no puede hacer nada, ya que el cifrado "
|
|
"del túnel codifica la información de diferente forma en los túneles de "
|
|
"entrada y en los de salida. Los atacantes externos tampoco pueden hacer "
|
|
"nada, ya que los enlaces están cifrados y los mensajes firmados."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:402
|
|
msgid ""
|
|
"Partitioning attacks - finding ways to segregate (technically or "
|
|
"analytically)\n"
|
|
"the peers in a network - are important to keep in mind when dealing with "
|
|
"a \n"
|
|
"powerful adversary, since the size of the network plays a key role in "
|
|
"determining\n"
|
|
"your anonymity. Technical partitioning by cutting links between peers to"
|
|
" create\n"
|
|
"fragmented networks is addressed by I2P's built in network database, "
|
|
"which \n"
|
|
"maintains statistics about various peers so as to allow any existing "
|
|
"connections\n"
|
|
"to other fragmented sections to be exploited so as to heal the network. "
|
|
"However,\n"
|
|
"if the attacker does disconnect all links to uncontrolled peers, "
|
|
"essentially\n"
|
|
"isolating the target, no amount of network database healing will fix it."
|
|
" At\n"
|
|
"that point, the only thing the router can hope to do is notice that a "
|
|
"significant\n"
|
|
"number of previously reliable peers have become unavailable and alert the"
|
|
" client\n"
|
|
"that it is temporarily disconnected (this detection code is not "
|
|
"implemented at\n"
|
|
"the moment)."
|
|
msgstr ""
|
|
"Los ataques de particionamiento - buscar formas (técnica o "
|
|
"analíticamente) de separar los pares en la red - son a tener en cuenta "
|
|
"cuando nos enfrentamos a adversarios poderosos, ya que el tamaño de la "
|
|
"red juega un papel importante a la hora de determinar el anonimato. I2P "
|
|
"ha resuelto el problema técnico del ataque por particiones que corta los "
|
|
"enlaces entre los pares dentro de su base de datos de la red, la cual "
|
|
"mantiene estadísticas sobre los pares a fin de permitir que las "
|
|
"conexiones fragmentadas sean reparadas usando otras partes de la red. "
|
|
"Aunque si un atacante desconecta todos los enlaces de un par, aislando el"
|
|
" objetivo completamente, la base de datos poco podrá hacer para reparar "
|
|
"el daño. En este punto lo único que el ruter puede intentar hacer es "
|
|
"avisar de que un gran número de pares accesibles anteriormente han pasado"
|
|
" a estar inaccesibles, y alertar al cliente de que está temporalmente "
|
|
"desconectado (este tipo de detección no está aún implementada)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:418
|
|
#, python-format
|
|
msgid ""
|
|
"Partitioning the network analytically by looking for differences in how "
|
|
"routers \n"
|
|
"and destinations behave and grouping them accordingly is also a very "
|
|
"powerful\n"
|
|
"attack. For instance, an attacker <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 ""
|
|
"Partir la red analíticamente buscando por diferencias en como se "
|
|
"comportan los ruters y las destinaciones y agrupándolos de acuerdo a los "
|
|
"resultados, es también un ataque poderoso. Por ejemplo, un atacante <a "
|
|
"href=\"#harvesting\">cosechando</a> la base de datos de la red sabrá "
|
|
"cuando una destinación en particular tiene 5 túneles de entrada y su "
|
|
"LeaseSet mientras que otros sólo tienen 2 o 3, permitiendo al adversario "
|
|
"clasificar los clientes por el número de túneles seleccionados. Otro "
|
|
"ataque por partición es posible cuando tratamos con los <a "
|
|
"href=\"%(todo)s#stop\">retardos no triviales</a> y las <a "
|
|
"href=\"%(todo)s#batching\">estrategias de procesamiento por lotes</a>, ya"
|
|
" que las puertas de entrada de los túneles y los saltos con no-ceros "
|
|
"retardos resaltarán entre los demás. Aún así, esta información sólo será "
|
|
"expuesta a esos saltos específicos, con lo que para que el ataque por "
|
|
"partición sea efectivo, el atacante necesita tener el control de una gran"
|
|
" parte de la red (y aún así sólo sería un ataque probabilístico, ya que "
|
|
"no sabría que otros túneles o mensajes tienen esos retardos)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:434
|
|
#, python-format
|
|
msgid ""
|
|
"Also discussed on the <a href=\"%(netdb)s#threat\">network database "
|
|
"page</a> (bootstrap attack)."
|
|
msgstr ""
|
|
"También se discute en la <a href=\"%(netdb)s#threat\">página de la base "
|
|
"de datos de la red</a> (ataque de bootstrap)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:440
|
|
msgid ""
|
|
"The predecessor attack is passively gathering statistics in an attempt to"
|
|
" see\n"
|
|
"what peers are 'close' to the destination by participating in their "
|
|
"tunnels and\n"
|
|
"keeping track of the previous or next hop (for outbound or inbound "
|
|
"tunnels, \n"
|
|
"respectively). Over time, using a perfectly random sample of peers and "
|
|
"random\n"
|
|
"ordering, an attacker would be able to see which peer shows up as "
|
|
"'closer' \n"
|
|
"statistically more than the rest, and that peer would in turn be where "
|
|
"the\n"
|
|
"target is located."
|
|
msgstr ""
|
|
"El ataque del predecesor es obtener estadísticas pasivamente intentando "
|
|
"ver que pares están 'cerca' de la destinación, participando en sus "
|
|
"túneles y haciendo el seguimiento de los saltos anteriores o siguientes ("
|
|
" para túneles de salida o entrada, respectivamente). Con el tiempo, un "
|
|
"atacante usando un ejemplo aleatorio perfecto de pares y ordenación, "
|
|
"podría ver cuales pares parecen estar más 'cerca' estadísticamente que el"
|
|
" resto, y ese par podría llegar a estar donde el el objetivo se "
|
|
"encuentra."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:450
|
|
#, python-format
|
|
msgid ""
|
|
"I2P avoids this in four ways: first, the peers selected to participate in"
|
|
"\n"
|
|
"tunnels are not randomly sampled throughout the network - they are "
|
|
"derived from\n"
|
|
"the <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 ""
|
|
"I2P evita esto de 4 formas: primera, los pares seleccionados para "
|
|
"participar en un túnel no están seleccionados aleatoriamente de la red - "
|
|
"derivan del algoritmo de <a href=\"%(peerselection)s\">selección de "
|
|
"pares</a> que los parte en niveles. Segunda, con el <a "
|
|
"href=\"%(tunnelimpl)s#ordering\">orden estricto</a> de los pares en un "
|
|
"túnel, el hecho de que un par se muestre más a menudo no quiere decir que"
|
|
" que sea la fuente. Tercera, con la <a "
|
|
"href=\"%(tunnelimpl)s#length\">permutación del tamaño del túnel</a> (no "
|
|
"activado por defecto) incluso los túneles de 0 saltos pueden proveer "
|
|
"negación plausible, ya que la variación ocasional de la puerta de salida "
|
|
"parecerá un túnel normal. Cuarta, con las <a "
|
|
"href=\"%(todo)s#fullRestrictedRoutes\">rutas restringidas</a> (no "
|
|
"implementado), sólo el para con una conexión restringida con el objetivo "
|
|
"será capaz de contactar con el objetivo, mientras que los atacantes "
|
|
"simplemente pasarán por la puerta de salida."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:467
|
|
#, python-format
|
|
msgid ""
|
|
"The current <a href=\"%(tunnelcreation)s\">tunnel build method</a>\n"
|
|
"was specifically designed to combat the predecessor attack.\n"
|
|
"See also <a href=\"#intersection\">the intersection attack</a>."
|
|
msgstr ""
|
|
"El <a href=\"%(tunnelcreation)s\">método de creación de túneles</a> "
|
|
"actual fue diseñado específicamente para combatir el ataque del "
|
|
"predecesor. Ver también <a href=\"#intersection\">el ataque de "
|
|
"interesección</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:473
|
|
#, python-format
|
|
msgid ""
|
|
"References: <a href=\"%(pdf2008)s\">%(pdf2008)s</a>\n"
|
|
"which is an update to the 2004 predecessor attack paper\n"
|
|
"<a href=\"%(pdf2004)s\">%(pdf2004)s</a>."
|
|
msgstr ""
|
|
"Referencias: <a href=\"%(pdf2008)s\">%(pdf2008)s</a> el cual es una "
|
|
"actualización del documento sobre el ataque del predecesor <a "
|
|
"href=\"%(pdf2004)s\">%(pdf2004)s</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:482
|
|
msgid ""
|
|
"\"Harvesting\" means compiling a list of users running I2P.\n"
|
|
"It can be used for legal attacks and to help\n"
|
|
"other attacks by simply running a peer, seeing who it connects to, and \n"
|
|
"harvesting whatever references to other peers it can find."
|
|
msgstr ""
|
|
"\"Harversting\", cosechado, es la compilación de una lista de usuarios "
|
|
"que ejecutan I2P. Puede ser usado para atacar legalmente o para ayudar a "
|
|
"otros ataques simplemente ejecutando un par, viendo quien se conecta al "
|
|
"par, y cosechando todas las referencias que pueda encontrar sobre otros "
|
|
"pares."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:489
|
|
msgid ""
|
|
"I2P itself is not designed with effective defenses against\n"
|
|
"this attack, since there is the distributed network database \n"
|
|
"containing just this information.\n"
|
|
"The following factors make the attack somewhat harder in practice:"
|
|
msgstr ""
|
|
"En sí mismo I2P no está diseñado para defenderse efectivamente contra "
|
|
"este ataque, ya que la base de datos de la red distribuida contiene toda "
|
|
"esta información. Aunque los siguientes factores hacen este ataque sea un"
|
|
" poco más difícil en la práctica:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:496
|
|
msgid ""
|
|
"Network growth will make it more difficult to obtain a given proportion "
|
|
"of the network"
|
|
msgstr ""
|
|
"El crecimiento de la red hará más difícil el controlar una parte "
|
|
"determinada de la red."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:499
|
|
msgid "Floodfill routers implement query limits as DOS protection"
|
|
msgstr ""
|
|
"Los ruters floodfill implementan límites en las peticiones para prevenir "
|
|
"ataques de denegación de servicio, DOS."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:502
|
|
msgid ""
|
|
"\"Hidden mode\", which prevents a router from publishing its information "
|
|
"to the netDb,\n"
|
|
"(but also prevents it from relaying data) is not widely used now but "
|
|
"could be."
|
|
msgstr ""
|
|
"\"Modo oculto\", evita que el ruter publique su información en la netDb, "
|
|
"(pero también hace que no reenvíe datos), no se usa mucho por ahora."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:508
|
|
#, python-format
|
|
msgid ""
|
|
"In future implementations,\n"
|
|
"<a href=\"%(todo)s#nat\">basic</a> and \n"
|
|
"<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 ""
|
|
"En implementaciones futuras, ruters restringidos <a "
|
|
"href=\"%(todo)s#nat\">básicos</a> y <a "
|
|
"href=\"%(todo)s#fullRestrictedRoutes\">exhaustivos</a>, este ataque "
|
|
"perderá gran parte de su poder, ya que los pares \"ocultos\" no "
|
|
"publicarán su lista de contactos en la base de datos de la red - sólo los"
|
|
" túneles por los que puede ser cntactado (al igual que sus claves "
|
|
"publicas y demás)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:517
|
|
msgid ""
|
|
"In the future, routers could use GeoIP to identify if they are in a "
|
|
"particular\n"
|
|
"country where identification as an I2P node would be risky.\n"
|
|
"In that case, the router could automatically enable hidden mode, or\n"
|
|
"enact other restricted route methods."
|
|
msgstr ""
|
|
"En el futuro los ruters podrán usar GeoIP para identificar si están en un"
|
|
" país donde la identificación de su nodo como un nodo de I2P podría ser "
|
|
"peligroso. En ese caso, el ruter podrá activar el modo oculto "
|
|
"automáticamente, o utilizar otros métodos de enrutado restringidos."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:526
|
|
#, python-format
|
|
msgid ""
|
|
"By inspecting the traffic into and out of a router, a malicious ISP\n"
|
|
"or state-level firewall could identify that a computer is running I2P.\n"
|
|
"As discussed <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 ""
|
|
"Inspeccionando el tráfico entrante y saliente del ruter, un ISP malicioso"
|
|
" o un firewall de un estado podrían identificar que una máquina utiliza "
|
|
"I2P. Como se discutió <a href=\"#harvesting\">más arriba</a>, I2P no está"
|
|
" diseñado específicamente para ocultar que una computadora usa I2P. Aún "
|
|
"así, ciertas decisiones en diseño de <a href=\"%(transport)s\">los "
|
|
"protocolos y la capa de transporte</a> hacen bastante difícil identificar"
|
|
" el tráfico de I2P:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:536
|
|
msgid "Random port selection"
|
|
msgstr "Selección de puertos aleatoria"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:539
|
|
msgid "Point-to-Point Encryption of all traffic"
|
|
msgstr "Cifrado de todo el tráfico de punto a punto"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:542
|
|
msgid ""
|
|
"DH key exchange with no protocol bytes or other unencrypted constant "
|
|
"fields"
|
|
msgstr ""
|
|
"Intercambio de clave DH sin bytes del protocolo u otros campos constantes"
|
|
" no cifrados"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:545
|
|
#, python-format
|
|
msgid ""
|
|
"Simultaneous use of both\n"
|
|
"<a href=\"%(ntcp)s\">TCP</a> and\n"
|
|
"<a href=\"%(ssu)s\">UDP</a> transports.\n"
|
|
"UDP may be much harder for some Deep Packet Inspection (DPI) equipment to"
|
|
" track."
|
|
msgstr ""
|
|
"El uso simultáneo de <a href=\"%(ssu)s\">UDP</a> y <a "
|
|
"href=\"%(ntcp)s\">TCP</a>. UDP puede ser mucha más difícil de "
|
|
"inspeccionar y seguir con equipamiento DPI, (inspección profunda de "
|
|
"paquetes)."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:553
|
|
msgid ""
|
|
"In the near future, we plan to directly address traffic analysis issues "
|
|
"by further obfuscation of I2P transport protocols, possibly including:"
|
|
msgstr ""
|
|
"En breves tenemos planeado solucionar los problemas de análisis de "
|
|
"trafico ofuscando los protocolos de transporte de I2P, probablemente "
|
|
"incluyendo:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:557
|
|
msgid ""
|
|
"Padding at the transport layer to random lengths, especially during the "
|
|
"connection handshake"
|
|
msgstr ""
|
|
"Rellenando la capa de transporte para que tenga determinados tamaños, "
|
|
"especialmente durante el handshake de conexión"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:560
|
|
msgid ""
|
|
"Study of packet size distribution signatures, and additional padding as "
|
|
"necessary"
|
|
msgstr ""
|
|
"Estudiando las firmas de la distribución de los tamaños de los paquetes, "
|
|
"y rellenando si es necesario."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:563
|
|
msgid ""
|
|
"Development of additional transport methods that mimic SSL or other "
|
|
"common protocols"
|
|
msgstr ""
|
|
"Creación de otros métodos de transporte camuflados como SSL u otros "
|
|
"protocolos comunes."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:566
|
|
msgid ""
|
|
"Review of padding strategies at higher layers to see how they affect "
|
|
"packet sizes at the transport layer"
|
|
msgstr ""
|
|
"Revisión de las estrategias de relleno en las capas superiores para ver "
|
|
"como afectan al tamaño de los paquetes en la capa de transporte."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:569
|
|
msgid ""
|
|
"Review of methods implemented by various state-level firewalls to block "
|
|
"Tor"
|
|
msgstr ""
|
|
"Revisar varios métodos implementados por varios cortafuegos de algunos "
|
|
"estados para bloquear Tor"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:572
|
|
msgid "Working directly with DPI and obfuscation experts"
|
|
msgstr ""
|
|
"Trabajar directamente con expertos en DPI, inspección profunda de "
|
|
"paquetes, y expertos en ofuscación."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:577
|
|
#, python-format
|
|
msgid ""
|
|
"Reference: <a href=\"%(pdf)s\">Breaking and Improving Protocol "
|
|
"Obfuscation</a>"
|
|
msgstr ""
|
|
"Referencia: <a href=\"%(pdf)s\">Breaking and Improving Protocol "
|
|
"Obfuscation</a>"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:584
|
|
msgid ""
|
|
"Sybil describes a category of attacks where the adversary creates "
|
|
"arbitrarily\n"
|
|
"large numbers of colluding nodes and uses the increased numbers to help \n"
|
|
"mounting other attacks. For instance, if an attacker is in a network "
|
|
"where peers\n"
|
|
"are selected randomly and they want an 80% chance to be one of those "
|
|
"peers, they\n"
|
|
"simply create five times the number of nodes that are in the network and "
|
|
"roll \n"
|
|
"the dice. When identity is free, Sybil can be a very potent technique "
|
|
"for a \n"
|
|
"powerful adversary. The primary technique to address this is simply to "
|
|
"make \n"
|
|
"identity 'non free' - <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:602
|
|
msgid "Requiring HashCash Certificates in various places has two major problems:"
|
|
msgstr "Requerir certificados HashCash en varios sitios tiene algunos problemas:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:606
|
|
msgid "Maintaining backward compatibility"
|
|
msgstr "Mantener compatibilidad con versiones anteriores"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:609
|
|
msgid ""
|
|
"The classic HashCash problem -\n"
|
|
"selecting HashCash values that are meaningful proofs of work on high-end "
|
|
"machines,\n"
|
|
"while still being feasible on low-end machines such as mobile devices."
|
|
msgstr ""
|
|
"El problema clásico del HashCash - seleccionar valores HashCash que sean "
|
|
"pruebas significativas de gasto de trabajo en máquinas potentes, mientras"
|
|
" que también sean factibles en máquinas no tan potentes como los "
|
|
"dispositivos móviles."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:616
|
|
msgid ""
|
|
"Various limitations on the number of routers in a given IP range restrict"
|
|
"\n"
|
|
"the vulnerability to attackers that don't have the ability to put "
|
|
"machines\n"
|
|
"in several IP blocks.\n"
|
|
"However, this is not a meaningful defense against a powerful adversary."
|
|
msgstr ""
|
|
"Varios límites en el número de ruters que puede haber en un rango "
|
|
"determinado de IPs restringe las posibilidades de los atacantes, ya que "
|
|
"no pueden poner más computadoras en ese bloque de IPs. Aún así esto no es"
|
|
" defensa contra un adversario con muchos recursos."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:623
|
|
#, python-format
|
|
msgid ""
|
|
"See the <a href=\"%(netdb)s#threat\">network database page</a>\n"
|
|
"for more Sybil discussion."
|
|
msgstr ""
|
|
"Vea la a href=\"%(netdb)s#threat\">web de la base de datos de la red</a> "
|
|
"para obtener más información sobre Sybil."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:630
|
|
#, python-format
|
|
msgid ""
|
|
"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymouns and Secure "
|
|
"Lookup</a> Section 5.2)"
|
|
msgstr ""
|
|
"(Referencia: <a href=\"%(pdf)s\">In Search of an Anonymouns and Secure "
|
|
"Lookup</a> Sección 5.2)"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:634
|
|
#, python-format
|
|
msgid ""
|
|
"By refusing to accept or forward tunnel build requests, except to a "
|
|
"colluding peer, a router could ensure\n"
|
|
"that a tunnel is formed wholly from its set of colluding routers.\n"
|
|
"The chances of success are enhanced if there is a large number of "
|
|
"colluding routers,\n"
|
|
"i.e. a <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% malicious nodes, as specifed in the paper.\n"
|
|
"The malicous routers could also maintain connections to the target router"
|
|
" and provide\n"
|
|
"excellent forwarding bandwidth for traffic over those connections, in an "
|
|
"attempt\n"
|
|
"to manipulate the profiles managed by the target and appear attractive.\n"
|
|
"Further research and defenses may be necessary."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:653
|
|
#, python-format
|
|
msgid ""
|
|
"We use strong cryptography with long keys, and\n"
|
|
"we assume the security of the industry-standard cryptographic primitives "
|
|
"used in I2P, as documented\n"
|
|
"<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 ""
|
|
"Usamos cifrados seguros con claves grandes, y usamos los algoritmos de "
|
|
"cifrado por defecto de la industria de la seguridad, como se documenta en"
|
|
" <a href=\"%(cryptography)s\">on the low-level cryptography page</a>. Las"
|
|
" medidas de seguridad también incluye la detección inmediata de mensajes "
|
|
"alterados en los caminos intermedios, la imposibilidad de descifrar los "
|
|
"mensajes que no le son enviados explícitamente a un par dado y defensas "
|
|
"contra ataques main in the middle. Los tamaños de las claves elegidas en "
|
|
"el 2003 todavía son más grandes que las usadas en otras redes de "
|
|
"anonimato como <a href=\"https://torproject.org/\">. No creemos que el "
|
|
"tamaño de las claves sean la mayor vulnerabilidad, sobre todo contra "
|
|
"adversarios que no sean estados; los errores de programación y el pequeño"
|
|
" tamaño actual de la red son mucho más preocupantes.. Por supuesto, todos"
|
|
" los algoritmos de cifrado se convierten en obsoletos tarde o temprano "
|
|
"con la llegada de microprocesadores más potentes, estudios sobre cifrados"
|
|
" y avances en métodos como las raionbow tables, grupos de consolas, etc. "
|
|
"Desafortunadamente, I2P no fue diseñado con un mecanismo fácil para el "
|
|
"cambio del tamaño de las claves o los secretos compartidos, manteniendo "
|
|
"la compatibilidad con versiones anteriores."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:672
|
|
#, python-format
|
|
msgid ""
|
|
"Upgrading the various data structures and protocols to support longer "
|
|
"keys\n"
|
|
"will have to be tackled eventually, and this will be a\n"
|
|
"<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 ""
|
|
"La actualización de varias estructuras y protocolos para el soporte de "
|
|
"claves más largas es un tema que deberá ser tratado tarde o temprano, y "
|
|
"esto será un <a href=\"%(cryptography)s\">dificil problema de "
|
|
"resolver</a>, al igual que le ocurrirá a <a "
|
|
"href=\"https://torproject.org/\">otros</a>. Esperemos que con un buen "
|
|
"planteamiento podamos minimizar los trastornos e implementar mecanismos "
|
|
"que hagan más fáciles futuros cambios."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:681
|
|
msgid ""
|
|
"In the future, several I2P protocols and data structures\n"
|
|
"support securely padding messages to arbitrary sizes, so messages could "
|
|
"be made constant\n"
|
|
"size or garlic messages could be modified randomly so that some cloves "
|
|
"appear to contain\n"
|
|
"more subcloves than they actually do. At the moment, however, garlic, "
|
|
"tunnel, and \n"
|
|
"end to end messages include simple random padding."
|
|
msgstr ""
|
|
"En el futuro varios protocolos y estructuras de datos de I2P soportarán "
|
|
"el rellenado seguro de mensajes con tamaños arbitrarios, con lo que los "
|
|
"mensajes serán de un tamaño constante o los mensajes garlic podrán ser "
|
|
"modificados aleatoriamente con lo cual algunas partes parecerán contener "
|
|
"más subpartes de lo que realmente tienen. Hasta el momento los túneles "
|
|
"garlic y los mensajes de fin a fin utilizan un simple relleno aleatorio."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:691
|
|
msgid "Floodfill Anonymity attacks"
|
|
msgstr "Ataques de anonimato FloodFill"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:692
|
|
#, python-format
|
|
msgid ""
|
|
"In addition to the floodfill DOS attacks described\n"
|
|
"<a href=\"#ffdos\">above</a>, floodfill routers are uniquely positioned\n"
|
|
"to learn about network participants, due to their role\n"
|
|
"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 ""
|
|
"Además de los ataques DOS FloodFill ya descritos <a "
|
|
"href=\"#ffdos\">arriba</a>, los ruters floodfill tienen una posición "
|
|
"ventajosa a la hora de aprender sobre los participantes en la red, debido"
|
|
" a su rol en la netDb y de la alta frecuencia de las comunicaciones con "
|
|
"otros participantes. Esto es mitigado en parte ya que los ruters "
|
|
"FloodFill sólo administran una parte de todo el espacio de claves, y el "
|
|
"espacio de claves rota diariamente, como se explica en la <a "
|
|
"href=\"%(netdb)s#threat\">web de la base de datos de la red</a>. Los "
|
|
"mecanismos específicos con los que los ruters se comunican con los "
|
|
"FloodFills han sido <a href=\"%(netdb)s#delivery\">diseñados "
|
|
"cuidadosamente</a>. Aún así, estos peligros deben estudiarse más "
|
|
"profundamente. Los ataques específicos potenciales y sus defensas deberán"
|
|
" ser discutidos en estudios futuros."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:708
|
|
#, python-format
|
|
msgid ""
|
|
"A hostile user may attempt to harm the network by\n"
|
|
"creating one or more floodfill routers and crafting them to offer\n"
|
|
"bad, slow, or no responses.\n"
|
|
"Several scenarios are discussed on the\n"
|
|
"<a href=\"%(netdb)s#threat\">network database page</a>."
|
|
msgstr ""
|
|
"Un usuario hostil podría intentar dañar la red creando uno o más ruters "
|
|
"FloodFill y haciendo que den respuestas malas, lentas o incluso que no "
|
|
"respondan. Varios escenarios como este han sido discutidos en la <a "
|
|
"href=\"%(netdb)s#threat\">web de la base de datos de la red</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:718
|
|
msgid "Central Resource Attacks"
|
|
msgstr "Ataque de Recurso Central"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:719
|
|
msgid ""
|
|
"There are a few centralized or limited resources (some inside I2P, some "
|
|
"not)\n"
|
|
"that could be attacked or used as a vector for attacks.\n"
|
|
"The absence of jrandom starting November 2007, followed by the loss of "
|
|
"the i2p.net hosting service in January 2008,\n"
|
|
"highlighted numerous centralized resources in the development and "
|
|
"operation of the I2P network,\n"
|
|
"most of which are now distributed.\n"
|
|
"Attacks on externally-reachable resources mainly affect the ability of "
|
|
"new users to find us,\n"
|
|
"not the operation of the network itself."
|
|
msgstr ""
|
|
"Hay varios recursos centralizados o limitados (algunos dentro de I2P, "
|
|
"algunos no) que pueden ser atacados o usados como vectores para ataques. "
|
|
"La desaparición de jrandom en Noviembre del 2007, seguida de la pérdida "
|
|
"del servicio de alojamiento de i2p.net en enero del 2008, mostraron que "
|
|
"muchos servicios estaban centralizados en el desarrollo y funcionamiento "
|
|
"de la red I2P, aunque actualmente la mayoría están descentralizados. Los "
|
|
"ataques a los servicios externos afectan mayormente a cómo los nuevos "
|
|
"usuarios pueden encontrarnos, no en la operación de la red en sí misma."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:729
|
|
#, python-format
|
|
msgid ""
|
|
"The <a href=\"%(site)s\">website</a> is mirrored and uses DNS round-robin"
|
|
" for external public access."
|
|
msgstr ""
|
|
"La <a href=\"%(site)s\">web</a> tiene copias en varios lugares y usa "
|
|
"round-robin DNS para el acceso público externo."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:732
|
|
#, 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 ""
|
|
"Los ruters ahora soportan <a href=\"%(faq)s#reseed\">localizaciones de "
|
|
"resiembra múltiples externas</a>, aún así se necesitarían más ruters de "
|
|
"resiembra, y el manejo de los ruters maliciosos o no disponibles debería "
|
|
"ser mejorado."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:737
|
|
msgid ""
|
|
"Routers now support multiple update file locations.\n"
|
|
"A malicious update host could feed a huge file, need to limit the size."
|
|
msgstr ""
|
|
"Los ruters soportan ahora la actualización desde múltiples "
|
|
"localizaciones. Un ruter malicioso de actualizaciones podría enviar un "
|
|
"archivo enorme, se necesita limitar el tamaño."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:741
|
|
msgid "Routers now support multiple default trusted update signers."
|
|
msgstr "Los ruters ahora soportan múltiples actualizaciones de confianza firmadas."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:744
|
|
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 ""
|
|
"Los ruters ahora manejan mejor los <a href=\"#ffdos\">pares FloodFill "
|
|
"múltiples no confiables</a>. Los FloodFills maliciosos <a "
|
|
"href=\"#ffdos\">necesitan</a> <a href=\"#floodfill\">más</a> estudio."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:748
|
|
#, python-format
|
|
msgid ""
|
|
"The code is now stored in a <a href=\"%(monotone)s\">distributed source "
|
|
"control system</a>."
|
|
msgstr ""
|
|
"El cóodigo está ahora almacenado en un <a href=\"%(monotone)s\">sistema "
|
|
"distribuido de control de código fuente</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:751
|
|
msgid ""
|
|
"Routers rely on a single news host, but there is a hardcoded backup URL "
|
|
"pointing to a different host.\n"
|
|
"A malicious news host could feed a huge file, need to limit the size."
|
|
msgstr ""
|
|
"Los ruters confían en un solo servidor de noticias, pero hay una URL "
|
|
"codificada de copia apuntando a un servidor diferente. Un servidor "
|
|
"malicioso de noticias podría enviar un archivo enorme, se necesita "
|
|
"limitar el tamaño."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:755
|
|
#, 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 ""
|
|
"Los <a href=\"%(naming)s\">servidores de dominios</a>, incluyendo los "
|
|
"servidores de suscripción de listas de direcciones, servicios para añadir"
|
|
" hosts y los servicios de saltos, pueden ser maliciosos. Se implementaron"
|
|
" protecciones para las suscripciones en la versión 0.6.1.31, con mejoras "
|
|
"adicionales en las siguientes versiones. Aún así, todos los servicios de "
|
|
"dominios requieren algún cantidad de confianza, vea <a "
|
|
"href=\"%(naming)s\">la web de dominios</a> para más detalles."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:762
|
|
msgid ""
|
|
"We remain reliant on the DNS service for i2p2.de, losing this would cause"
|
|
" substantial\n"
|
|
"disruption in our ability to attract new users,\n"
|
|
"and would shrink the network (in the short-to-medium term), just as the "
|
|
"loss of i2p.net did."
|
|
msgstr ""
|
|
"Continuamos confiando en el servicio DNS de i2p2.de, perderlo causaría "
|
|
"bastante trastorno en nuestra habilidad de atraer nuevos usuarios, y "
|
|
"reduciría la red (de corto a medio plazo), al igual que lo hizo la "
|
|
"pérdida de i2p.net."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:772
|
|
msgid ""
|
|
"These attacks aren't directly on the network, but instead go after its "
|
|
"development team \n"
|
|
"by either introducing legal hurdles on anyone contributing to the "
|
|
"development\n"
|
|
"of the software, or by using whatever means are available to get the "
|
|
"developers to \n"
|
|
"subvert the software. Traditional technical measures cannot defeat these"
|
|
" attacks, and\n"
|
|
"if someone threatened the life or livelihood of a developer (or even just"
|
|
" issuing a \n"
|
|
"court order along with a gag order, under threat of prison), we would "
|
|
"have a big problem."
|
|
msgstr ""
|
|
"Estos ataques no son a la red, en cambio van detrás del equipo de "
|
|
"desarrolladores ya sea poniendo obstáculos legales a cualquiera "
|
|
"contribuyendo al desarrollo, o usando cualquier método disponible para "
|
|
"hacer que los desarrolladores boicoteen el software. Las medidas técnicas"
|
|
" tradicionales no pueden derrotare estos ataques, y si alguien amenaza la"
|
|
" vida o el sustento de un desarrollador (simplemente poniendo una "
|
|
"denuncia con secreto de sumario para que no pueda contarlo, con amenaza "
|
|
"de cárcel), podríamos tener un gran problema."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:781
|
|
msgid "However, two techniques help defend against these attacks:"
|
|
msgstr "Sin embargo, estas técnicas ayudan a defenderse contra estos ataques:"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:785
|
|
#, python-format
|
|
msgid ""
|
|
"All components of the network must be open source to enable inspection, "
|
|
"verification, \n"
|
|
"modification, and improvement. If a developer is compromised, once it is"
|
|
" noticed \n"
|
|
"the community should demand explanation and cease to accept that "
|
|
"developer's work.\n"
|
|
"All checkins to our <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 ""
|
|
"Todos los componentes de la red deben ser de código libre para permitir "
|
|
"su inspección, verificación, modificación y mejora. Si algún "
|
|
"desarrollador ha sido comprometido, una vez notificado, la comunidad debe"
|
|
" exigir una explicación y su cese para aceptar el trabajo de ese "
|
|
"desarrollador. Todos los cambios en nuestro <a "
|
|
"href=\"%(monotone)s\">sistema de control de código distribuido</a> están "
|
|
"criptográficamente firmados, y los empaquetadores de versiones usan una "
|
|
"sistema de listas de confianza para restringir las modificaciones a sólo "
|
|
"aquellos que han sido aprovados."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:793
|
|
#, python-format
|
|
msgid ""
|
|
"Development over the network itself, allowing developers to stay "
|
|
"anonymous but still \n"
|
|
"secure the development process. All I2P development can occur through "
|
|
"I2P - using\n"
|
|
"a <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 ""
|
|
"El desarrollo de la red permitiendo a los desarrolladores permanecer "
|
|
"anónimos pero aun así seguros. Todo el desarrollo de I2P puede hacerso "
|
|
"dentro de I2P - usando un <a href=\"%(monotone)s\">sistema de control "
|
|
"distribuido de código</a>, IRC chat, servidores web públicos , foros de "
|
|
"discusión (forum.i2p), y webs de distribución de las aplicaciones, todo "
|
|
"disponible dentro de I2P."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:804
|
|
msgid ""
|
|
"We also maintain relationships with various organizations that offer "
|
|
"legal advice,\n"
|
|
"should any defense be necessary."
|
|
msgstr ""
|
|
"También mantenemos relaciones con organizaciones que ofrecen consejo "
|
|
"legal, en caso de que fuese necesario algún tipo de defensa legal."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:809
|
|
msgid "Implementation attacks (bugs)"
|
|
msgstr "Ataques de implementación (errores de programación)"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:810
|
|
msgid ""
|
|
"Try as we might, most nontrivial applications include errors in the "
|
|
"design or \n"
|
|
"implementation, and I2P is no exception. There may be bugs that could be"
|
|
" exploited to \n"
|
|
"attack the anonymity or security of the communication running over I2P in"
|
|
" unexpected \n"
|
|
"ways. To help withstand attacks against the design or protocols in use, "
|
|
"we publish \n"
|
|
"all designs and documentation and solicit review and criticism with \n"
|
|
"the hope that many eyes will improve the system.\n"
|
|
"We do not believe in\n"
|
|
"<a href=\"http://www.haystacknetwork.com/\">security through "
|
|
"obscurity</a>."
|
|
msgstr ""
|
|
"Por mucho que nos esforcemos, incluso las aplicaciones más simples tienen"
|
|
" errores de diseño, e I2P no es una excepción. Pueden existir bugs "
|
|
"inesperados que pudieran ser explotados para atacar el anonimato o la "
|
|
"seguridad de las comunicaciones ejecutándose sobre I2P. Para evitar "
|
|
"estos ataques contra el diseño de los protocolos usados, publicamos todos"
|
|
" los diseños y documentación y solicitamos revisión y crítica con la "
|
|
"esperanza de que usando muchos ojos se mejorará el sistema. No creemos en"
|
|
" <a href=\"http://www.haystacknetwork.com/\">la seguridad por "
|
|
"oscuridad</a>."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:821
|
|
msgid ""
|
|
"In addition, the code is being \n"
|
|
"treated the same way, with little aversion towards reworking or throwing "
|
|
"out \n"
|
|
"something that isn't meeting the needs of the software system (including "
|
|
"ease of \n"
|
|
"modification). Documentation for the design and implementation of the "
|
|
"network and \n"
|
|
"the software components are an essential part of security, as without "
|
|
"them it is \n"
|
|
"unlikely that developers would be willing to spend the time to learn the "
|
|
"software \n"
|
|
"enough to identify shortcomings and bugs."
|
|
msgstr ""
|
|
"Además, el código es tratado de la misma forma, sin muchos problemas para"
|
|
" volver a hacer el trabajo o tirar trabajo ya hecho que no cumpla las "
|
|
"necesidades del sistema (incluida su fácil modificación). La "
|
|
"documentación del diseño y de la implementación de la red y de los "
|
|
"componentes de software es una parte esencial de la seguridad, ya que sin"
|
|
" ella sería raro que los programadores gastasen tanto tiempo en "
|
|
"aprenderse el software como para identificar deficiencias y errores."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:831
|
|
msgid ""
|
|
"Our software is likely, in particular, to contain bugs related to denial "
|
|
"of service\n"
|
|
"through out-of-memory errors (OOMs), cross-site-scripting (XSS) issues "
|
|
"in the router console,\n"
|
|
"and other vulnerabilities to non-standard inputs via the various "
|
|
"protocols."
|
|
msgstr ""
|
|
"En partucular, es probable que nuestras aplicaciones contengan errores "
|
|
"relacionados con la denegación de servicio a través de errores de llenado"
|
|
" de memoria (OOMS), cross-site-scripting (XSS) en la consola del ruter, y"
|
|
" otras vulnerabilidades no tan normales a causa de varios protocolos."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:837
|
|
#, python-format
|
|
msgid ""
|
|
"I2P is still a small network with a small development community and "
|
|
"almost no\n"
|
|
"interest from academic or research groups.\n"
|
|
"Therefore we lack the analysis that\n"
|
|
"<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 ""
|
|
"I2P aún es una red pequeña con una comunidad de programadores pequeña y "
|
|
"casi sin interés por parte de académicos y grupos de investigación. A "
|
|
"causa de eso nos faltan los análisis que pueden tener <a "
|
|
"href=\"https://torproject.org/\">otras redes de anonimato</a>. "
|
|
"Continuamos reclutando gente para <a href=\"%(volunteer)s\">que se "
|
|
"involucre</a> y ayude."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:850
|
|
msgid "Blocklists"
|
|
msgstr "Blocklists, lista de bloqueos"
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:851
|
|
msgid ""
|
|
"To some extent, I2P could be enhanced to avoid peers operating at IP "
|
|
"addresses\n"
|
|
"listed in a blocklist. Several blocklists are commonly available in "
|
|
"standard formats,\n"
|
|
"listing anti-P2P organizations, potential state-level adversaries, and "
|
|
"others."
|
|
msgstr ""
|
|
"Hasta cierto punto I2P puede ser mejorada haciendo que los pares con IPs "
|
|
"en la blocklist dejen de operar. Varias blocklists están disponibles en "
|
|
"varios formatos estándar, con listados de organizaciones contrarias a "
|
|
"I2P, estados potencialmente peligrosos, y otros."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:857
|
|
msgid ""
|
|
"To the extent that active peers actually do show up in the actual "
|
|
"blocklist,\n"
|
|
"blocking by only a subset of peers would tend to segment the network,\n"
|
|
"exacerbate reachability problems, and decrease overall reliability.\n"
|
|
"Therefore we would want to agree on a particular blocklist and\n"
|
|
"enable it by default."
|
|
msgstr ""
|
|
"En la medida en que pares activos son mostrados en la blocklist actual, "
|
|
"bloqueando sólo una parte de los pares tiende a segmentar la red, "
|
|
"aumentando los problemas de accesibilidad, y decreciendo la confianza "
|
|
"general. Por lo cual queremos llegar aun acuerdo en una lista de bloqueo "
|
|
"en particular y activarla por defecto."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:865
|
|
msgid ""
|
|
"Blocklists are only a part (perhaps a small part) of an array of defenses"
|
|
"\n"
|
|
"against maliciousness.\n"
|
|
"In large part the profiling system does a good job of measuring\n"
|
|
"router behavior so that we don't need to trust anything in netDb.\n"
|
|
"However there is more that can be done. For each of the areas in the\n"
|
|
"list above there are improvements we can make in detecting badness."
|
|
msgstr ""
|
|
"Las listas de bloqueo sólo son una parte (quizás una pequeña parte) del "
|
|
"conjunto de defensas contra la malicia. En gran parte el sistema de "
|
|
"perfiles hace un buen trabajo controlando el comportamiento de los ruters"
|
|
" y hace que no necesitemos confiar en nada dentro de la netDb. Aún así "
|
|
"hay más cosas que se pueden hacer. En cualquiera de las áreas de la lista"
|
|
" de arriba hay mejoras que se pueden implementar para detectar la "
|
|
"malicia."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:874
|
|
msgid ""
|
|
"If a blocklist is hosted at a central location with automatic updates\n"
|
|
"the network is vulnerable to a\n"
|
|
"<a href=\"#central\">central resource attack</a>.\n"
|
|
"Automatic subscription to a list gives the list provider the power to "
|
|
"shut\n"
|
|
"the i2p network down. Completely."
|
|
msgstr ""
|
|
"Si la blocklist está hospedada en una localización central con "
|
|
"actualizaciones automáticas la red sería vulnerable al <a "
|
|
"href=\"#central\">ataque del recurso centralizado</a>. Las suscripciones "
|
|
"automáticas a una lista ofrecen al proveedor la capacidad de apagar toda "
|
|
"la red i2p. Completamente."
|
|
|
|
#: i2p2www/pages/site/docs/how/threat-model.html:882
|
|
msgid ""
|
|
"Currently, a default blocklist is distributed with our software,\n"
|
|
"listing only the IPs of past DOS sources.\n"
|
|
"There is no automatic update mechanism.\n"
|
|
"Should a particular IP range implement serious attacks on the I2P "
|
|
"network,\n"
|
|
"we would have to ask people to update their blocklist manually through\n"
|
|
"out-of-band mechanisms such as forums, blogs, etc."
|
|
msgstr ""
|
|
"Actualmente se distribuye con nuestro software una blocklist por defecto,"
|
|
" listando solamente las IPs que han sido fuente de ataques DOS. No hay "
|
|
"mecanismo de actualizaciones automáticas. En caso de que un rango de IP "
|
|
"en particular hiciese un ataque serio a la red I2P, tendríamos que "
|
|
"pedirle a la gente que actualizasen su blocklist manualmente a través de "
|
|
"algún mecanismo externo como foros, blogs, etc."
|
|
|
|
#: i2p2www/pages/site/docs/how/tunnel-routing.html:2
|
|
#: i2p2www/pages/site/docs/how/tunnel-routing.html:6
|
|
msgid "Tunnel Overview"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/how/tunnel-routing.html:3
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:3
|
|
msgid "July 2011"
|
|
msgstr "Julio de 2011"
|
|
|
|
#: 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 "Salida entrante"
|
|
|
|
#: 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 "Creación de túneles"
|
|
|
|
#: 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 "Túneles unidireccionales"
|
|
|
|
#: 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 "Garlic routing"
|
|
|
|
#: 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 "Opciones de I2CP"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:3
|
|
msgid "November 2012"
|
|
msgstr "Noviembre de 2012"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:6
|
|
msgid ""
|
|
"The I2P Client Protocol (I2CP) exposes a strong separation of concerns "
|
|
"between\n"
|
|
"the router and any client that wishes to communicate over the network. "
|
|
"It enables\n"
|
|
"secure and asynchronous messaging by sending and receiving messages over "
|
|
"a \n"
|
|
"single TCP socket, yet never exposing any private keys and authenticating"
|
|
" itself\n"
|
|
"to the router only through signatures. With I2CP, a client application "
|
|
"tells the\n"
|
|
"router who they are (their \"destination\"), what anonymity, reliability,"
|
|
" and \n"
|
|
"latency tradeoffs to make, and where to send messages. In turn the "
|
|
"router uses\n"
|
|
"I2CP to tell the client when any messages have arrived, and to request "
|
|
"authorization\n"
|
|
"for some tunnels to be used."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:18
|
|
#, python-format
|
|
msgid ""
|
|
"The protocol itself has only been implemented in Java, to provide the\n"
|
|
"<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."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:26
|
|
#, python-format
|
|
msgid ""
|
|
"While implementing the client side of I2CP in a non-Java language is "
|
|
"certainly feasible,\n"
|
|
"a non-Java client would also have to implement the\n"
|
|
"<a href=\"%(streaming)s\">streaming library</a> for TCP-style "
|
|
"connections.\n"
|
|
"Together, implementing I2CP and the streaming library would be a sizable "
|
|
"task."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:33
|
|
#, python-format
|
|
msgid ""
|
|
"Applications can take advantage of the base I2CP plus the \n"
|
|
"<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:45
|
|
#, python-format
|
|
msgid ""
|
|
"Client-side end-to-end encryption (encrypting the data over the I2CP "
|
|
"connection)\n"
|
|
"was disabled in I2P release 0.6,\n"
|
|
"leaving in place the <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:58
|
|
msgid ""
|
|
"In a standard I2P installation, port 7654 is used by external java "
|
|
"clients to communicate\n"
|
|
"with the local router via I2CP.\n"
|
|
"By default, the router binds to address 127.0.0.1. To bind to 0.0.0.0, "
|
|
"set the\n"
|
|
"router advanced configuration option "
|
|
"<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:67
|
|
msgid "I2CP Protocol Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:68
|
|
#, python-format
|
|
msgid "Now on the <a href=\"%(i2cp)s\">I2CP Specification page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:73
|
|
msgid "I2CP Initialization"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:74
|
|
#, python-format
|
|
msgid ""
|
|
"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:83
|
|
msgid "I2CP Options"
|
|
msgstr "Opciones de I2CP"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:84
|
|
#, 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:90
|
|
msgid "Router-side Options"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:95
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:438
|
|
msgid "As Of Release"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:96
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:439
|
|
msgid "Recommended Arguments"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:97
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:440
|
|
msgid "Allowable Range"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:105
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:118
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:127
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:136
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:145
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:160
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:175
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:184
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:232
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:244
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:256
|
|
#, python-format
|
|
msgid "number from %(from)s to %(to)s"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:106
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:128
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:137
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:146
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:161
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:233
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:245
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:257
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:530
|
|
#, python-format
|
|
msgid "%(from)s to %(to)s"
|
|
msgstr "%(from)s a %(to)s"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:108
|
|
msgid ""
|
|
"Number of tunnels in.\n"
|
|
"Limit was increased from 6 to 16 in release 0.9; however, numbers higher "
|
|
"than 6 are not\n"
|
|
"currently recommended, as this is untested and is incompatible with older"
|
|
" releases."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:119
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:176
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:185
|
|
msgid "No limit"
|
|
msgstr "Sin límite"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:121
|
|
msgid "Number of tunnels out"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:130
|
|
msgid "Length of tunnels in"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:139
|
|
msgid "Length of tunnels out"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:148
|
|
msgid ""
|
|
"Random amount to add or subtract to the length of tunnels in.\n"
|
|
"A positive number x means add a random amount from 0 to x inclusive.\n"
|
|
"A negative number -x means add a random amount from -x to x inclusive.\n"
|
|
"The router will limit the total length of the tunnel to 0 to 7 inclusive."
|
|
"\n"
|
|
"The default variance was 1 prior to release 0.7.6."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:163
|
|
msgid ""
|
|
"Random amount to add or subtract to the length of tunnels out.\n"
|
|
"A positive number x means add a random amount from 0 to x inclusive.\n"
|
|
"A negative number -x means add a random amount from -x to x inclusive.\n"
|
|
"The router will limit the total length of the tunnel to 0 to 7 inclusive."
|
|
"\n"
|
|
"The default variance was 1 prior to release 0.7.6."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:178
|
|
msgid "Number of redundant fail-over for tunnels in"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:187
|
|
msgid "Number of redundant fail-over for tunnels out"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:196
|
|
msgid ""
|
|
"Name of tunnel - generally used in routerconsole, which will\n"
|
|
"use the first few characters of the Base64 hash of the destination by "
|
|
"default."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:208
|
|
msgid "Name of tunnel - generally ignored unless inbound.nickname is unset."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:217
|
|
msgid "If incoming zero hop tunnel is allowed"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:226
|
|
msgid "If outgoing zero hop tunnel is allowed"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:235
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:247
|
|
msgid ""
|
|
"Number of IP bytes to match to determine if\n"
|
|
"two routers should not be in the same tunnel. 0 to disable."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:259
|
|
msgid ""
|
|
"Priority adjustment for outbound messages.\n"
|
|
"Higher is higher priority."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:271
|
|
msgid "Should generally be set to true for clients and false for servers"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:280
|
|
msgid ""
|
|
"Guaranteed is disabled;\n"
|
|
"None implemented in 0.8.1; the streaming lib default is None as of 0.8.1,"
|
|
" the client side default is None as of 0.9.4"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:292
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:571
|
|
msgid ""
|
|
"If true, the router just sends the MessagePayload instead\n"
|
|
"of sending a MessageStatus and awaiting a ReceiveMessageBegin."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:304
|
|
msgid ""
|
|
"Comma-separated list of Base 64 Hashes of peers to build tunnels through;"
|
|
" for debugging only"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:313
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:325
|
|
msgid ""
|
|
"For authorization, if required by the router.\n"
|
|
"If the client is running in the same JVM as a router, this option is not "
|
|
"required."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:337
|
|
msgid ""
|
|
"Number of ElGamal/AES Session Tags to send at a time.\n"
|
|
"For clients with relatively low bandwidth per-client-pair (IRC, some UDP "
|
|
"apps), this may be set lower."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:349
|
|
msgid ""
|
|
"Minimum number of ElGamal/AES Session Tags before we send more.\n"
|
|
"Recommended: approximately tagsToSend * 2/3"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:361
|
|
msgid ""
|
|
"Set to false to disable ever bundling a reply LeaseSet.\n"
|
|
"For clients that do not publish their LeaseSet, this option must be true\n"
|
|
"for any reply to be possible. \"true\" is also recommended for multihomed"
|
|
" servers\n"
|
|
"with long connection times."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:368
|
|
msgid ""
|
|
"Setting to \"false\" may save significant outbound bandwidth, especially "
|
|
"if\n"
|
|
"the client is configured with a large number of inbound tunnels (Leases)."
|
|
"\n"
|
|
"If replies are still required, this may shift the bandwidth burden to\n"
|
|
"the far-end client and the floodfill.\n"
|
|
"There are several cases where \"false\" may be appropriate:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:376
|
|
msgid "Unidirectional communication, no reply required"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:377
|
|
msgid "LeaseSet is published and higher reply latency is acceptable"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:378
|
|
msgid ""
|
|
"LeaseSet is published, client is a \"server\", all connections are "
|
|
"inbound\n"
|
|
"so the connecting far-end destination obviously has the leaseset already."
|
|
"\n"
|
|
"Connections are either short, or it is acceptable for latency on a long-"
|
|
"lived\n"
|
|
"connection to temporarily increase while the other end re-fetches the "
|
|
"LeaseSet\n"
|
|
"after expiration.\n"
|
|
"HTTP servers may fit these requirements."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:396
|
|
msgid ""
|
|
"Any other options prefixed with \"inbound.\" are stored\n"
|
|
"in the \"unknown options\" properties of the inbound tunnel pool's "
|
|
"settings."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:408
|
|
msgid ""
|
|
"Any other options prefixed with \"outbound.\" are stored\n"
|
|
"in the \"unknown options\" properties of the outbound tunnel pool's "
|
|
"settings."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:415
|
|
msgid ""
|
|
"Note: Large quantity, length, or variance settings may cause significant "
|
|
"performance or reliability problems."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:419
|
|
msgid ""
|
|
"Note: As of release 0.7.7, option names and values must use UTF-8 "
|
|
"encoding.\n"
|
|
"This is primarily useful for nicknames.\n"
|
|
"Prior to that release, options with multi-byte characters were corrupted."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:425
|
|
msgid ""
|
|
"The following options are interpreted on the client side,\n"
|
|
"and will be interpreted if passed to the I2PSession via the "
|
|
"I2PClient.createSession() call.\n"
|
|
"The streaming lib should also pass these options through to I2CP.\n"
|
|
"Other implementations may have different defaults."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:433
|
|
msgid "Client-side Options"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:451
|
|
msgid ""
|
|
"Router hostname.\n"
|
|
"If the client is running in the same JVM as a router, this option is "
|
|
"ignored, and the client connects to that router internally."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:463
|
|
msgid ""
|
|
"Router I2CP port.\n"
|
|
"If the client is running in the same JVM as a router, this option is "
|
|
"ignored, and the client connects to that router internally."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:475
|
|
msgid ""
|
|
"Connect to the router using SSL.\n"
|
|
"If the client is running in the same JVM as a router, this option is "
|
|
"ignored, and the client connects to that router internally."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:487
|
|
msgid "Gzip outbound data"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:496
|
|
msgid "Reduce tunnel quantity when idle"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:505
|
|
msgid "Close I2P session when idle"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:512
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:521
|
|
#, python-format
|
|
msgid "%(num)s minimum"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:514
|
|
msgid "(ms) Idle time required (default 20 minutes, minimum 5 minutes)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:523
|
|
msgid "(ms) Idle time required (default 30 minutes)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:532
|
|
msgid "Tunnel quantity when reduced (applies to both inbound and outbound)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:541
|
|
msgid "Encrypt the lease"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:550
|
|
msgid "Base64 SessionKey (44 characters)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:559
|
|
msgid ""
|
|
"Guaranteed is disabled;\n"
|
|
"None implemented in 0.8.1; None is the default as of 0.9.4"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:578
|
|
msgid ""
|
|
"Note: All arguments, including numbers, are strings. True/false values "
|
|
"are case-insensitive strings.\n"
|
|
"Anything other than case-insensitive \"true\" is interpreted as false.\n"
|
|
"All option names are case-sensitive."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:584
|
|
msgid "I2CP Payload Data Format and Multiplexing"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:585
|
|
#, python-format
|
|
msgid ""
|
|
"The end-to-end messages handled by I2CP (i.e. the data sent by the client"
|
|
" in a\n"
|
|
"<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:599
|
|
msgid ""
|
|
"The gzip function cannot be completely turned off, however setting "
|
|
"i2cp.gzip=false\n"
|
|
"turns the gzip effort setting to 0, which may save a little CPU."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:605
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:33
|
|
msgid "Bytes"
|
|
msgstr "Bytes"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:606
|
|
msgid "Content"
|
|
msgstr "Contenido"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:611
|
|
msgid "Gzip header"
|
|
msgstr "Cabecera gzip"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:616
|
|
msgid "Gzip flags"
|
|
msgstr "Opciones de gzip"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:621
|
|
msgid "I2P Source port (Gzip mtime)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:626
|
|
msgid "I2P Destination port (Gzip mtime)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:631
|
|
msgid "Gzip xflags"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:636
|
|
msgid "I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:640
|
|
msgid ""
|
|
"Data integrity is verified with the standard gzip CRC-32 as\n"
|
|
"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC 1952</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:648
|
|
msgid "Implement I2CP and the streaming library in another programming language."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:652
|
|
msgid "Is the initial Get Date / Set Date handshake required?"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:656
|
|
msgid ""
|
|
"The current authorization mechanism could be modified to use hashed "
|
|
"passwords."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:660
|
|
msgid ""
|
|
"Private Keys are included in the Create Lease Set message,\n"
|
|
"are they really required? Revocation is unimplemented."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2cp.html:665
|
|
#, python-format
|
|
msgid ""
|
|
"Some improvements may be able to use messages previously defined but not "
|
|
"implemented.\n"
|
|
"For reference, here is the\n"
|
|
"<a href=\"%(pdf1)s\">I2CP Protocol Specification Version 0.9</a>\n"
|
|
"(PDF) dated August 28, 2003.\n"
|
|
"That document also references the\n"
|
|
"<a href=\"%(pdf2)s\">Common Data Structures Specification Version 0.9</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:6
|
|
msgid "I2P Network Protocol"
|
|
msgstr "Protocolo de red I2P"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:7
|
|
msgid ""
|
|
"The I2P Network Protocol (I2NP),\n"
|
|
"which is sandwiched between I2CP and the various I2P transport protocols,"
|
|
" manages the\n"
|
|
"routing and mixing of messages between routers, as well as the selection "
|
|
"of what\n"
|
|
"transports to use when communicating with a peer for which there are "
|
|
"multiple\n"
|
|
"common transports supported."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:15
|
|
msgid "I2NP Definition"
|
|
msgstr "Definición de I2NP"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:16
|
|
msgid ""
|
|
"I2NP (I2P Network Protocol) messages can be used for one-hop, router-to-"
|
|
"router, point-to-point messages.\n"
|
|
"By encrypting and wrapping messages in other messages, they can be sent "
|
|
"in a secure way\n"
|
|
"through multiple hops to the ultimate destination.\n"
|
|
"Priority is only used locally at the origin, i.e. when queuing for "
|
|
"outbound delivery."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:23
|
|
#, 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:30
|
|
msgid "Message Format"
|
|
msgstr "Formato del mensaje"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:33
|
|
#: i2p2www/pages/site/docs/spec/streaming.html:35
|
|
msgid "Field"
|
|
msgstr "Campo"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:34
|
|
msgid "Unique ID"
|
|
msgstr "ID único"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:35
|
|
msgid "Expiration"
|
|
msgstr "Expiración"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:36
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:93
|
|
msgid "Payload Length"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:37
|
|
msgid "Checksum"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:38
|
|
msgid "Payload"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:41
|
|
#, 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:49
|
|
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:55
|
|
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:61
|
|
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:69
|
|
msgid "Message Types"
|
|
msgstr "Tipos de mensajes"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:70
|
|
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:81
|
|
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:91
|
|
msgid "Message"
|
|
msgstr "Mensaje"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:92
|
|
msgid "Type"
|
|
msgstr "Tipo"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:94
|
|
msgid "Priority"
|
|
msgstr "Prioridad"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:95
|
|
msgid "Comments"
|
|
msgstr "Comentarios"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:103
|
|
msgid "May vary"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:109
|
|
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:118
|
|
msgid "Varies"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:120
|
|
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:134
|
|
msgid "Priority may vary on a per-destination basis"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:144
|
|
msgid ""
|
|
"Used for message replies, and for testing tunnels - generally wrapped in "
|
|
"a GarlicMessage"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:152
|
|
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:179
|
|
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:199
|
|
msgid "Shorter TunnelBuildMessage as of 0.7.12"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:207
|
|
msgid "Shorter TunnelBuildReplyMessage as of 0.7.12"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:210
|
|
#, python-format
|
|
msgid "Others listed in <a href=\"%(pdf)s\">2003 Spec</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:216
|
|
msgid "Obsolete, Unused"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:220
|
|
msgid "Full Protocol Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/i2np.html:221
|
|
#, 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:228
|
|
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 "Pila de protocolos"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:7
|
|
#, python-format
|
|
msgid ""
|
|
"Here is the protocol stack for I2P.\n"
|
|
"See also the <a href=\"%(docs)s\">Index to Technical Documentation</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:12
|
|
msgid ""
|
|
"Each of the layers in the stack provides extra capabilities.\n"
|
|
"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 "Capa de Internet:"
|
|
|
|
#: 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 "Capa de transporte:"
|
|
|
|
#: 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 ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:53
|
|
msgid ""
|
|
"<b>I2P Garlic Layer:</b> provide encrypted and anonymous end-to-end I2P "
|
|
"message delivery."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:55
|
|
#, python-format
|
|
msgid ""
|
|
"<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 ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:104
|
|
msgid "<b>Streaming/datagram applications</b>: i2psnark, Syndie, i2phex..."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:105
|
|
msgid "<b>SAM/BOB applications</b>: IMule, i2p-bt, i2prufus, Robert..."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:106
|
|
#, python-format
|
|
msgid ""
|
|
"<b>Other I2P applications</b>: Syndie, EepGet, <a "
|
|
"href=\"%(plugins)s\">plugins</a>..."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:107
|
|
msgid ""
|
|
"<b>Regular applications</b>: Jetty, Apache, Monotone, CVS, browsers, "
|
|
"e-mail..."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:111
|
|
msgid "I2P Network stack"
|
|
msgstr "Pila de red I2P"
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:113
|
|
msgid "Figure 1: The layers in the I2P Network stack."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/protocol/index.html:118
|
|
msgid "Note: SAM/SAMv2 can use both the streaming lib and datagrams."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:2
|
|
msgid "I2P Blockfile Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:3
|
|
msgid "January 2012"
|
|
msgstr "Enero de 2012:"
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:6
|
|
msgid "Blockfile and Hosts Database Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:8
|
|
#, python-format
|
|
msgid ""
|
|
"This document specifies\n"
|
|
"the I2P blockfile file format\n"
|
|
"and the tables in the hostsdb.blockfile used by the Blockfile <a "
|
|
"href=\"%(naming)s\">Naming Service</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:14
|
|
msgid ""
|
|
"The blockfile provides fast Destination lookup in a compact format. While"
|
|
" the blockfile page overhead is substantial,\n"
|
|
"the destinations are stored in binary rather than in Base 64 as in the "
|
|
"hosts.txt format.\n"
|
|
"In addition, the blockfile provides the capability of arbitrary metadata "
|
|
"storage\n"
|
|
"(such as added date, source, and comments) for each entry.\n"
|
|
"The metadata may be used in the future to provide advanced addressbook "
|
|
"features.\n"
|
|
"The blockfile storage requirement is a modest increase over the hosts.txt"
|
|
" format, and the blockfile provides\n"
|
|
"approximately 10x reduction in lookup times."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:24
|
|
#, python-format
|
|
msgid ""
|
|
"A blockfile is simply on-disk storage of multiple sorted maps (key-value "
|
|
"pairs),\n"
|
|
"implemented as skiplists.\n"
|
|
"The blockfile format is adopted from the\n"
|
|
"<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:32
|
|
msgid "Blockfile Format"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:33
|
|
msgid ""
|
|
"The original blockfile spec was modified to add magic numbers to each "
|
|
"page.\n"
|
|
"The file is structured in 1024-byte pages. Pages are numbered starting "
|
|
"from 1.\n"
|
|
"The \"superblock\" is always at page 1, i.e. starting at byte 0 in the "
|
|
"file.\n"
|
|
"The metaindex skiplist is always at page 2, i.e. starting at byte 1024 in"
|
|
" the file."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:40
|
|
msgid ""
|
|
"All 2-byte integer values are unsigned.\n"
|
|
"All 4-byte integer values (page numbers) are signed and negative values "
|
|
"are illegal."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:45
|
|
msgid ""
|
|
"The database is designed to be opened and accessed by a single thread.\n"
|
|
"The BlockfileNamingService provides synchronization."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:50
|
|
msgid "Superblock format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:65
|
|
msgid "Skip list block page format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:80
|
|
msgid ""
|
|
"Skip level block page format is as follows.\n"
|
|
"All levels have a span. Not all spans have levels."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:95
|
|
msgid ""
|
|
"Skip span block page format is as follows.\n"
|
|
"Key/value structures are sorted by key within each span and across all "
|
|
"spans.\n"
|
|
"Key/value structures are sorted by key within each span.\n"
|
|
"Spans other than the first span may not be empty."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:112
|
|
msgid "Span Continuation block page format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:123
|
|
msgid ""
|
|
"Key/value structure format is as follows.\n"
|
|
"Key and value lengths must not be split across pages, i.e. all 4 bytes "
|
|
"must be on the same page.\n"
|
|
"If there is not enough room the last 1-3 bytes of a page are unused and "
|
|
"the lengths will\n"
|
|
"be at offset 8 in the continuation page.\n"
|
|
"Key and value data may be split across pages.\n"
|
|
"Max key and value lengths are 65535 bytes."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:139
|
|
msgid "Free list block page format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:151
|
|
msgid "Free page block format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:160
|
|
msgid ""
|
|
"The metaindex (located at page 2) is a mapping of US-ASCII strings to "
|
|
"4-byte integers.\n"
|
|
"The key is the name of the skiplist and the value is the page index of "
|
|
"the skiplist."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:165
|
|
msgid "Blockfile Naming Service Tables"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:166
|
|
msgid ""
|
|
"The tables created and used by the BlockfileNamingService are as follows."
|
|
"\n"
|
|
"The maximum number of entries per span is 16."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:171
|
|
msgid "Properties Skiplist"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:172
|
|
#, python-format
|
|
msgid ""
|
|
"%(INFO)s is the master database skiplist with String/Properties key/value"
|
|
" entries containing only one entry:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:184
|
|
msgid "Reverse Lookup Skiplist"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:185
|
|
#, python-format
|
|
msgid ""
|
|
"%(REVERSE)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:199
|
|
msgid "hosts.txt, userhosts.txt, and privatehosts.txt Skiplists"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:200
|
|
msgid ""
|
|
"For each host database, there is a skiplist containing\n"
|
|
"the hosts for that database.\n"
|
|
"The keys/values in these skiplists are as follows:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:211
|
|
msgid "The DestEntry Properties typically contains:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/blockfile.html:220
|
|
msgid "Hostname keys are stored in lower-case and always end in \".i2p\"."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:2
|
|
msgid "Common structure Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:6
|
|
msgid "Data types Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:7
|
|
#, python-format
|
|
msgid ""
|
|
"This document describes some data types common to all I2P protocols, like"
|
|
"\n"
|
|
"<a href=\"%(i2np)s\">I2NP</a>, <a href=\"%(i2cp)s\">I2CP</a>,\n"
|
|
"<a href=\"%(ssu)s\">SSU</a>, etc."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:17
|
|
msgid "Represents a non-negative integer.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:20
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:31
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:41
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:54
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:69
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:82
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:94
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:106
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:118
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:130
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:142
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:154
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:166
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:178
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:231
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:298
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:347
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:399
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:446
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:581
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:638
|
|
#: i2p2www/pages/site/docs/spec/streaming.html:35
|
|
msgid "Contents"
|
|
msgstr "Contenido"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:21
|
|
msgid "1 to 8 bytes in network byte order representing an unsigned integer\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:27
|
|
msgid ""
|
|
"The number of milliseconds since midnight on January 1, 1970 in the GMT "
|
|
"timezone.\n"
|
|
"If the number is 0, the date is undefined or null.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:32
|
|
msgid "8 byte <a href=\"#type_Integer\">Integer</a>\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:38
|
|
msgid "Represents a UTF-8 encoded string.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:42
|
|
msgid ""
|
|
"1 or more bytes where the first byte is the number of bytes (not "
|
|
"characters!)\n"
|
|
"in the string and the remaining 0-255 bytes are the non-null terminated "
|
|
"UTF-8 encoded character array.\n"
|
|
"Length limit is 255 bytes (not characters). Length may be 0.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:50
|
|
msgid ""
|
|
"A boolean value, supporting null/unknown representation\n"
|
|
"0=false, 1=true, 2=unknown/null\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:55
|
|
msgid "1 byte <a href=\"#type_Integer\">Integer</a>\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:59
|
|
msgid "Deprecated - unused\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:65
|
|
#, python-format
|
|
msgid ""
|
|
"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:70
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:83
|
|
msgid "256 bytes\n"
|
|
msgstr "256 bytes\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:78
|
|
#, python-format
|
|
msgid ""
|
|
"This structure is used in ElGamal decryption, representing only the "
|
|
"exponent, not the primes which are constant and defined in\n"
|
|
"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:91
|
|
msgid "This structure is used for AES256 encryption and decryption.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:95
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:143
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:155
|
|
msgid "32 bytes\n"
|
|
msgstr "32 bytes\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:103
|
|
#, python-format
|
|
msgid ""
|
|
"This structure is used for verifying <a "
|
|
"href=\"%(cryptography)s#DSA\">DSA</a> signatures.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:107
|
|
msgid "128 bytes\n"
|
|
msgstr "128 bytes\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:115
|
|
#, python-format
|
|
msgid ""
|
|
"This structure is used for creating <a "
|
|
"href=\"%(cryptography)s#DSA\">DSA</a> signatures.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:119
|
|
msgid "20 bytes\n"
|
|
msgstr "20 bytes\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:127
|
|
#, python-format
|
|
msgid ""
|
|
"This structure represents the <a href=\"%(cryptography)s#DSA\">DSA</a> "
|
|
"signature of some data.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:131
|
|
msgid "40 bytes\n"
|
|
msgstr "40 bytes\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:139
|
|
msgid "Represents the SHA256 of some data.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:151
|
|
msgid "A random number\n"
|
|
msgstr "Un número aleatorio\n"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:163
|
|
msgid "Defines an identifier that is unique to each router in a tunnel.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:167
|
|
msgid "4 byte <a href=\"#type_Integer\">Integer</a>\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:175
|
|
msgid ""
|
|
"A certificate is a container for various receipts or proof of works used "
|
|
"throughout the I2P network.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:179
|
|
msgid ""
|
|
"1 byte <a href=\"#type_Integer\">Integer</a> specifying certificate type,"
|
|
" followed by a 2 <a href=\"#type_Integer\">Integer</a> specifying the "
|
|
"size of the certificate payload, then that many bytes.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:205
|
|
msgid ""
|
|
"For <a href=\"#struct_RouterIdentity\">Router Identities</a>, the "
|
|
"Certificate is always NULL, no others are currently implemented."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:209
|
|
#, 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:213
|
|
#, 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:217
|
|
msgid ""
|
|
"For <a href=\"#struct_Destination\">Destinations</a>, the Certificate may"
|
|
" be non-NULL,\n"
|
|
"however non-NULL certs are not widely used, and any checking is left to "
|
|
"the application-level."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:228
|
|
msgid "A set of key/value mappings or properties\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:232
|
|
msgid "A 2-byte size Integer followed by a series of String=String; pairs\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:259
|
|
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:263
|
|
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:267
|
|
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:273
|
|
msgid ""
|
|
"Mappings contained in I2NP messages (i.e. in a RouterAddress or "
|
|
"RouterInfo)\n"
|
|
"must be sorted by key so that the signature will be invariant."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:278
|
|
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:282
|
|
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:291
|
|
msgid "Common structure specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:295
|
|
msgid "Defines the way to uniquely identify a particular router\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:299
|
|
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:336
|
|
msgid ""
|
|
"The certificate for a RouterIdentity is currently unused and is always "
|
|
"NULL."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:344
|
|
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:348
|
|
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:396
|
|
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:400
|
|
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:431
|
|
msgid "Total size: 44 bytes"
|
|
msgstr "Tamaño total: 44 bytes"
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:441
|
|
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:447
|
|
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:539
|
|
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:544
|
|
#, 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:549
|
|
msgid ""
|
|
"The signature may be verified using the signing public key of the "
|
|
"destination."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:553
|
|
msgid ""
|
|
"The signing_key is currently unused. It was intended for LeaseSet "
|
|
"revocation, which is unimplemented.\n"
|
|
"It is currently generated anew at every router startup, it is not "
|
|
"persistent."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:557
|
|
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:564
|
|
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:578
|
|
msgid ""
|
|
"This structure defines the means to contact a router through a transport "
|
|
"protocol.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:582
|
|
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:617
|
|
msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:621
|
|
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."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:634
|
|
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:639
|
|
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:718
|
|
msgid ""
|
|
"The peer_size Integer may be followed by a list of that many router "
|
|
"hashes.\n"
|
|
"This is currently unused. It was intended for a form of restricted "
|
|
"routes, which is unimplemented.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:723
|
|
msgid ""
|
|
"The signature may be verified using the signing public key of the "
|
|
"router_ident.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/common-structures.html:731
|
|
#, python-format
|
|
msgid ""
|
|
"Defined in the <a href=\"%(tunnelmessage)s#delivery\">Tunnel Message "
|
|
"Specification</a>.\n"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:2
|
|
msgid "Configuration File Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:7
|
|
msgid ""
|
|
"This page provides a general specification of I2P configuration files,\n"
|
|
"used by the router and various applications.\n"
|
|
"It also gives an overview of the information contained in the various "
|
|
"files,\n"
|
|
"and links to detailed documentation where available."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:15
|
|
msgid "General Format"
|
|
msgstr "Formato general"
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:16
|
|
#, python-format
|
|
msgid ""
|
|
"An I2P configuration file is formatted as specified in\n"
|
|
"<a href=\"%(url)s\">Java Properties</a>\n"
|
|
"with the following exceptions:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:22
|
|
msgid "Encoding must be UTF-8"
|
|
msgstr "La codificación debe ser 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. It does not store the key with a value of "
|
|
"\"\""
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:30
|
|
msgid ""
|
|
"As there are no escapes, keys may not contain '#', '=', or '\n"
|
|
"', or start with ';'"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:31
|
|
msgid ""
|
|
"As there are no escapes, values may not contain '#' or '\n"
|
|
"', or start or end with '\r"
|
|
"' or whitespace"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:34
|
|
msgid ""
|
|
"The file need not be sorted, but most applications do sort by key when\n"
|
|
"writing to the file, for ease of reading and manual editing."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:39
|
|
#, python-format
|
|
msgid ""
|
|
"Reads and writes are implemented in\n"
|
|
"<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 "Clientes"
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:51
|
|
msgid "Configured via /configclients in the router console."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:55
|
|
msgid "Logger"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:56
|
|
msgid "Configured via /configlogging in the router console."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:60
|
|
msgid "Individual Plugin"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:61
|
|
#, python-format
|
|
msgid "See <a href=\"%(pluginspec)s\">the plugin specification</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:66
|
|
msgid "Enable/disable for each installed plugin."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:70
|
|
msgid "Router"
|
|
msgstr "Ruter"
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:71
|
|
msgid "Configured via /configadvanced in the router console."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:75
|
|
msgid "Applications"
|
|
msgstr "Aplicaciones"
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:78
|
|
msgid "See documentation in SusiDNS."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:83
|
|
msgid "Configured via the application gui."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:88
|
|
msgid "Configured via the /i2ptunnel application in the router console."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:92
|
|
msgid "Router Console"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:93
|
|
msgid "The router console uses the router.config file."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/configuration.html:98
|
|
msgid "See post on zzz.i2p."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:2
|
|
msgid "Datagram Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:6
|
|
msgid "See the Datagrams page for an overview of the Datagrams API."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:12
|
|
msgid "Non-Repliable Datagrams"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:13
|
|
msgid ""
|
|
"Non-repliable datagrams have no 'from' address and are not authenticated."
|
|
"\n"
|
|
"They are also called \"raw\" datagrams.\n"
|
|
"Strictly speaking, they are not \"datagrams\" at all, they are just raw "
|
|
"data.\n"
|
|
"They are not handled by the datagram API.\n"
|
|
"However, SAM and the I2PTunnel classes support \"raw datagrams\"."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:21
|
|
msgid "Format"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html: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 "
|
|
"427 bytes of overhead."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/datagrams.html:91
|
|
#, python-format
|
|
msgid ""
|
|
"The practical length is limited by lower layers of protocols - the\n"
|
|
"<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:97
|
|
msgid "See important notes above about the reliability of large datagrams."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/geoip.html:2
|
|
msgid "GeoIP File Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/geoip.html:8
|
|
msgid ""
|
|
"This page specifies the format of the various GeoIP files,\n"
|
|
"used by the router to look up a country for an IP."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/geoip.html:14
|
|
msgid "Country Name (countries.txt) Format"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/geoip.html:15
|
|
msgid ""
|
|
"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:83
|
|
msgid "Flags and Option Data Fields"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/streaming.html:84
|
|
msgid ""
|
|
"The flags field above specifies some metadata about the packet, and in\n"
|
|
"turn may require certain additional data to be included. The flags are\n"
|
|
"as follows. Any data structures specified must be added to the options "
|
|
"area\n"
|
|
"in the given order."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:2
|
|
msgid "I2P Software Update Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:7
|
|
msgid ""
|
|
"I2P uses a simple, yet secure, system for automated software update.\n"
|
|
"The router console periodically pulls a news file from a configurable I2P"
|
|
" URL.\n"
|
|
"There is a hardcoded backup URL pointing to the project website, in case\n"
|
|
"the default project news host goes down."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:14
|
|
msgid ""
|
|
"The contents of the news file are displayed on the home page of the "
|
|
"router console.\n"
|
|
"In addition, the news file contains the most recent version number of the"
|
|
" software.\n"
|
|
"If the version is higher than the router's version number, it will\n"
|
|
"display an indication to the user that an update is available."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:21
|
|
msgid ""
|
|
"The router may optionally download, or download and install, the new "
|
|
"version\n"
|
|
"if configured to do so."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:26
|
|
msgid "News File Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:27
|
|
msgid "The news.xml file may contain the following elements:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:35
|
|
msgid ""
|
|
"The elements may be included inside XML comments to prevent "
|
|
"interpretation by browsers.\n"
|
|
"The i2p.release element and version are required. All others are optional"
|
|
" and are\n"
|
|
"currently unused."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:41
|
|
msgid ""
|
|
"The news source is trusted only to indicate that a new version is "
|
|
"available.\n"
|
|
"It does not specify the URL of the update, the checksum, or any other "
|
|
"information."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:47
|
|
msgid "Update File Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:48
|
|
msgid ""
|
|
"The signed update file, traditionally named i2pupdate.sud,\n"
|
|
"is simply a zip file with a prepended 56 byte header.\n"
|
|
"The header contains:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:54
|
|
#, python-format
|
|
msgid ""
|
|
"A 40-byte <a href=\"%(commonstructures)s#type_signature\">DSA "
|
|
"signature</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:57
|
|
msgid "A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:62
|
|
#, python-format
|
|
msgid ""
|
|
"The signature covers only the zip archive - not the prepended version.\n"
|
|
"The signature must match one of the <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:68
|
|
msgid ""
|
|
"For version comparison purposes, version fields contain [0-9]*, field "
|
|
"separators are\n"
|
|
"'-', '_', and '.', and all other characters are ignored."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:73
|
|
msgid ""
|
|
"As of version 0.8.8, the version must also be specified as a zip file "
|
|
"comment in UTF-8,\n"
|
|
"without the trailing zeroes.\n"
|
|
"The updating router verifes that the version in the header (not covered "
|
|
"by the signature)\n"
|
|
"matches the version in the zip file comment, which is covered by the "
|
|
"signature.\n"
|
|
"This prevents spoofing of the version number in the header."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:81
|
|
msgid "Download and Installation"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:82
|
|
msgid ""
|
|
"The router first downloads the header of the update file from one in a "
|
|
"configurable list of I2P URLs,\n"
|
|
"using the built-in HTTP client and proxy,\n"
|
|
"and checks that the version is newer.\n"
|
|
"This prevents the problem of update hosts that do not have the latest "
|
|
"file.\n"
|
|
"The router then downloads the full update file.\n"
|
|
"The router verifies that the update file version is newer before "
|
|
"installation.\n"
|
|
"It also, of course, verifies the signature, and\n"
|
|
"verifes that the zip file comment matches the header version, as "
|
|
"explained above."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:93
|
|
msgid "The zip file is extracted in the base $I2P installation directory."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:97
|
|
msgid ""
|
|
"As of release 0.7.12, the router supports Pack200 decompression.\n"
|
|
"Files inside the zip archive with a .jar.pack or .war.pack suffix\n"
|
|
"are transparently decompressed to a .jar or .war file.\n"
|
|
"Update files containing .pack files are traditionally named with a '.su2'"
|
|
" suffix.\n"
|
|
"Pack200 shrinks the update files by about 60%."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:105
|
|
msgid ""
|
|
"As of release 0.8.7, the router will delete the libjbigi.so and "
|
|
"libjcpuid.so files\n"
|
|
"if the zip archive contains a lib/jbigi.jar file, so that the new files "
|
|
"will\n"
|
|
"be extracted from jbigi.jar."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:111
|
|
msgid ""
|
|
"As of release 0.8.12, if the zip archive contains a file deletelist.txt, "
|
|
"the router will\n"
|
|
"delete the files listed there. The format is:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:116
|
|
msgid "One file name per line"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:117
|
|
msgid ""
|
|
"All file names are relative to the installation directory; no absolute "
|
|
"file names allowed, no files starting with \"..\""
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:118
|
|
msgid "Comments start with '#'"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:121
|
|
msgid "The router will then delete the deletelist.txt file."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:126
|
|
msgid "New \"su3\" Update File Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:128
|
|
msgid "This specification is preliminary and is not yet implemented."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:132
|
|
msgid "Issues with existing .sud/.su2 format:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:134
|
|
msgid "No magic number or flags"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:137
|
|
msgid "No way to specify compression, pack200 or not, or signing algo"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:140
|
|
msgid ""
|
|
"Version is not covered by signature, so it is enforced by requiring it\n"
|
|
"to be in the zip file comment (for router files) or in the plugin.config\n"
|
|
"file (for plugins)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:145
|
|
msgid "Signer not specified so verifier must try all known keys"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:148
|
|
msgid "Signature-before-data format requires two passes to generate file"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:154
|
|
msgid "Goals:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:157
|
|
msgid "Fix above problems"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:160
|
|
msgid "Migrate to more secure signature algorithm"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:163
|
|
msgid ""
|
|
"Keep version info in same format and offset for compatibility with\n"
|
|
"existing version checkers"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:169
|
|
msgid "Specification:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:217
|
|
msgid "All unused fields must be set to 0 for compatibility with future versions."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:224
|
|
msgid ""
|
|
"The network will eventually grow too large for update over HTTP.\n"
|
|
"The built-in BitTorrent client, i2psnark, may be used as a distributed "
|
|
"update method.\n"
|
|
"This development effort is ongoing and should be completed by late 2013."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/spec/updates.html:229
|
|
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
|
|
msgid "April 2013"
|
|
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
|
|
msgid ""
|
|
"Maintain a set of router addresses, one or more for each transport,\n"
|
|
"that the router publishes as its global contact information (the "
|
|
"RouterInfo)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:41
|
|
msgid "Selection of the best transport for each outgoing message"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:42
|
|
msgid "Queueing of outbound messages by priority"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:43
|
|
msgid ""
|
|
"Bandwidth limiting, both outbound and inbound, according to router "
|
|
"configuration"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:44
|
|
msgid "Setup and teardown of transport connections"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:45
|
|
msgid "Encryption of point-to-point communications"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:46
|
|
msgid ""
|
|
"Maintenance of connection limits for each transport, implementation of "
|
|
"various thresholds for these limits,\n"
|
|
"and communication of threshold status to the router so it may make "
|
|
"operational changes based on the status"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:50
|
|
msgid "Firewall port opening using UPnP (Universal Plug and Play)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:51
|
|
msgid "Cooperative NAT/Firewall traversal"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:52
|
|
msgid ""
|
|
"Local IP detection by various methods, including UPnP, inspection of "
|
|
"incoming connections, and enumeration of network devices"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:53
|
|
msgid ""
|
|
"Coordination of firewall status and local IP, and changes to either, "
|
|
"among the transports"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:54
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:32
|
|
msgid ""
|
|
"Communication of firewall status and local IP, and changes to either, to "
|
|
"the router and the user interface"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:55
|
|
msgid ""
|
|
"Determination of a consensus clock, which is used to periodically update "
|
|
"the router's clock, as a backup for NTP"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:56
|
|
msgid ""
|
|
"Maintenance of status for each peer, including whether it is connected, "
|
|
"whether it was recently connected,\n"
|
|
"and whether it was reachable in the last attempt"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:60
|
|
msgid "Qualification of valid IP addresses according to a local rule set"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:61
|
|
msgid ""
|
|
"Honoring the automated and manual lists of banned peers maintained by the"
|
|
" router,\n"
|
|
"and refusing outbound and inbound connections to those peers"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:68
|
|
msgid "Transport Addresses"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:70
|
|
msgid ""
|
|
"The transport subsystem maintains a set of router addresses, each of "
|
|
"which lists a transport method, IP, and port.\n"
|
|
"These addresses constitute the advertised contact points, and are "
|
|
"published by the router to the network database."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:75
|
|
msgid "Typical scenarios are:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:77
|
|
msgid ""
|
|
"A router has no published addresses, so it is considered \"hidden\" and "
|
|
"cannot receive incoming connections"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:78
|
|
#, python-format
|
|
msgid ""
|
|
"A router is firewalled, and therefore publishes an SSU address which "
|
|
"contains a list of cooperating\n"
|
|
"peers or \"introducers\" who will assist in NAT traversal (see <a "
|
|
"href=\"%(ssu)s\">the SSU spec</a> for details)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:82
|
|
msgid ""
|
|
"A router is not firewalled or its NAT ports are open; it publishes both "
|
|
"NTCP and SSU addresses containing\n"
|
|
"directly-accessible IP and ports."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:88
|
|
msgid "Transport Selection"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:90
|
|
#, python-format
|
|
msgid ""
|
|
"The transport system delivers <a href=\"%(i2np)s\">I2NP messages</a>. The"
|
|
" transport selected for any message is\n"
|
|
"independent of the upper-layer protocols and contents (router or client "
|
|
"messages, whether an external application was using\n"
|
|
"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:104
|
|
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:110
|
|
msgid "Whether a transport bids, and with what value, depend on numerous factors:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:114
|
|
msgid "Configuration of transport preferences"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:115
|
|
msgid "Whether the transport is already connected to the peer"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:116
|
|
msgid ""
|
|
"The number of current connections compared to various connection limit "
|
|
"thresholds"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:117
|
|
msgid "Whether recent connection attempts to the peer have failed"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:118
|
|
msgid ""
|
|
"The size of the message, as different transports have different size "
|
|
"limits"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:119
|
|
msgid ""
|
|
"Whether the peer can accept incoming connections for that transport, as "
|
|
"advertised in its RouterInfo"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:120
|
|
msgid "Whether the connection would be indirect (requiring introducers) or direct"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:121
|
|
msgid "The peer's transport preference, as advertised in its RouterInfo"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:124
|
|
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:131
|
|
msgid "New Transports and Future Work"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:133
|
|
msgid "Additional transports may be developed, including:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:138
|
|
msgid "A TLS/SSH look-alike transport"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:139
|
|
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:142
|
|
#, python-format
|
|
msgid ""
|
|
"IPv6: The existing transports must be enhanced to support multiple "
|
|
"addresses within a single transport,\n"
|
|
"including IPV6 addresses. Currently, a transport may only advertise a "
|
|
"single IPV4 address.\n"
|
|
"See <a href=\"%(thread)s\">this thread</a> for discussion."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/index.html:148
|
|
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:155
|
|
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:162
|
|
#, 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:6
|
|
msgid "NTCP (NIO-based TCP)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:8
|
|
#, 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."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:15
|
|
msgid ""
|
|
"By default, NTCP uses the IP/Port\n"
|
|
"auto-detected by SSU. When enabled on config.jsp,\n"
|
|
"SSU will notify/restart NTCP when the external address changes\n"
|
|
"or when the firewall status changes.\n"
|
|
"Now you can enable inbound TCP without a static IP or dyndns service."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:23
|
|
msgid ""
|
|
"The NTCP code within I2P is relatively lightweight (1/4 the size of the "
|
|
"SSU code)\n"
|
|
"because it uses the underlying Java TCP transport for reliable delivery."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:29
|
|
msgid "NTCP Protocol Specification"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:31
|
|
msgid "Standard Message Format"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:32
|
|
msgid ""
|
|
"After establishment,\n"
|
|
"the NTCP transport sends individual I2NP messages, with a simple "
|
|
"checksum.\n"
|
|
"The unencrypted message is encoded as follows:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:42
|
|
msgid ""
|
|
"The data is then AES/256/CBC encrypted. The session key for the "
|
|
"encryption\n"
|
|
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
|
|
"The establishment between two routers is implemented in the "
|
|
"EstablishState class\n"
|
|
"and detailed below.\n"
|
|
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous "
|
|
"encrypted message."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:50
|
|
msgid ""
|
|
"0-15 bytes of padding are required to bring the total message length\n"
|
|
"(including the six size and checksum bytes) to a multiple of 16.\n"
|
|
"The maximum message size is currently 16 KB.\n"
|
|
"Therefore the maximum data size is currently 16 KB - 6, or 16378 bytes.\n"
|
|
"The minimum data size is 1."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:58
|
|
msgid "Time Sync Message Format"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:59
|
|
msgid ""
|
|
"One special case is a metadata message where the sizeof(data) is 0. In\n"
|
|
"that case, the unencrypted message is encoded as:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:70
|
|
msgid ""
|
|
"Total length: 16 bytes. The time sync message is sent at approximately 15"
|
|
" minute intervals.\n"
|
|
"The message is encrypted just as standard messages are."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:76
|
|
msgid "Checksums"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:77
|
|
#, python-format
|
|
msgid ""
|
|
"The standard and time sync messages use the Adler-32 checksum\n"
|
|
"as defined in the <a href=\"%(rfc1950)s\">ZLIB Specification</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:83
|
|
msgid "Establishment Sequence"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:84
|
|
msgid ""
|
|
"In the establish state, there is a 4-phase message sequence to exchange "
|
|
"DH keys and signatures.\n"
|
|
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
|
|
"Then, DSA signatures of the critical data are exchanged to confirm the "
|
|
"connection."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:98
|
|
msgid "Legend:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:99
|
|
msgid "256 byte DH public keys"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:103
|
|
msgid "timestamps (4 bytes, seconds since epoch)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:104
|
|
msgid "32 byte Session key"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:105
|
|
msgid "2 byte size of Alice identity to follow"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:108
|
|
msgid "DH Key Exchange"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:109
|
|
#, 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:115
|
|
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:121
|
|
msgid ""
|
|
"Alice generates a secret 226-bit integer x. She then calculates <code>X ="
|
|
" g^x mod p</code>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:122
|
|
msgid "Alice sends X to Bob <b>(Message 1)</b>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:123
|
|
msgid ""
|
|
"Bob generates a secret 226-bit integer y. He then calculates <code>Y = "
|
|
"g^y mod p</code>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:124
|
|
msgid "Bob sends Y to Alice.<b>(Message 2)</b>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:125
|
|
msgid "Alice can now compute <code>sessionKey = Y^x mod p</code>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:126
|
|
msgid "Bob can now compute <code>sessionKey = X^y mod p</code>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:127
|
|
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:129
|
|
msgid ""
|
|
"The sessionKey is then used to exchange identities in <b>Message 3</b> "
|
|
"and <b>Message 4</b>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:133
|
|
msgid "Message 1 (Session Request)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:134
|
|
#, 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:147
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:190
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:270
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:353
|
|
msgid "Size:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:149
|
|
msgid "Contents:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:167
|
|
msgid "256 byte X from Diffie Hellman"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:169
|
|
#, python-format
|
|
msgid ""
|
|
"SHA256 Hash(X) xored with SHA256 Hash(Bob's <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:176
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:257
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:334
|
|
msgid "Notes:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:177
|
|
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:183
|
|
msgid "Message 2 (Session Created)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:184
|
|
msgid "This is the DH reply. Bob sends Alice:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:192
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:272
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:355
|
|
msgid "Unencrypted Contents:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:214
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:248
|
|
msgid "256 byte Y from Diffie Hellman"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:216
|
|
msgid "SHA256 Hash(X concatenated with Y)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:219
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:304
|
|
msgid "4 byte timestamp (seconds since the epoch)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:221
|
|
msgid "12 bytes random data"
|
|
msgstr "12 bytes datos aleatorios"
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:226
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:316
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:383
|
|
msgid "Encrypted Contents:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:250
|
|
#, 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:258
|
|
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:263
|
|
msgid "Message 3 (Session Confirm A)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:264
|
|
msgid ""
|
|
"This contains Alice's router identity, and a DSA signature of the "
|
|
"critical data. Alice sends Bob:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:298
|
|
msgid "2 byte size of Alice's router identity to follow (should always be 387)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:300
|
|
#, python-format
|
|
msgid ""
|
|
"Alice's 387 byte <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:306
|
|
msgid "15 bytes random data"
|
|
msgstr "15 bytes datos aleatorios"
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:308
|
|
#, python-format
|
|
msgid ""
|
|
"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA "
|
|
"signature</a> of the following concatenated data:\n"
|
|
" X, Y, Bob's <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, "
|
|
"tsA, tsB.\n"
|
|
" Alice signs it with the <a "
|
|
"href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing "
|
|
"key</a> associated with the <a "
|
|
"href=\"%(commonstructures)s#type_SigningPublicKey\">public signing "
|
|
"key</a> in her <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:326
|
|
#, 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:336
|
|
msgid "Bob verifies the signature, and on failure, drops the connection."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:339
|
|
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:346
|
|
msgid "Message 4 (Session Confirm B)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:347
|
|
msgid "This is a DSA signature of the critical data. Bob sends Alice:"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:372
|
|
#, python-format
|
|
msgid ""
|
|
"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA "
|
|
"signature</a> of the following concatenated data:\n"
|
|
" X, Y, Alice's <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, "
|
|
"tsA, tsB.\n"
|
|
" Bob signs it with the <a "
|
|
"href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing "
|
|
"key</a> associated with the <a "
|
|
"href=\"%(commonstructures)s#type_SigningPublicKey\">public signing "
|
|
"key</a> in his <a "
|
|
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:378
|
|
msgid "8 bytes random data"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:393
|
|
#, 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 the encrypted contents of message "
|
|
"#2 as the IV"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:401
|
|
msgid "Alice verifies the signature, and on failure, drops the connection."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:408
|
|
msgid "After Establishment"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:409
|
|
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:418
|
|
msgid "Check Connection Message"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:419
|
|
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:428
|
|
msgid "32 bytes of uninterpreted, ignored data"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:429
|
|
msgid "1 byte size"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:430
|
|
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:431
|
|
msgid "2 byte port number that the local router was reached on"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:432
|
|
msgid ""
|
|
"4 byte i2p network time as known by the remote side (seconds since the "
|
|
"epoch)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:433
|
|
msgid "uninterpreted padding data, up to byte 223"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:434
|
|
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:438
|
|
msgid "Discussion"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:439
|
|
#, python-format
|
|
msgid "Now on the <a href=\"%(ntcpdisc)s\">NTCP Discussion Page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:445
|
|
msgid "The maximum message size should be increased to approximately 32 KB."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:449
|
|
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:457
|
|
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:461
|
|
msgid ""
|
|
"Can the establishment messages be randomly padded somehow, to frustrate\n"
|
|
"identification of I2P traffic based on initial packet sizes?"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ntcp.html:466
|
|
msgid "Review and possibly disable 'check connection'"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:2
|
|
msgid "SSU Transport"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:6
|
|
msgid "Secure Semireliable UDP"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:9
|
|
#, 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:15
|
|
msgid ""
|
|
"SSU is the newer of the two transports,\n"
|
|
"introduced in I2P release 0.6.\n"
|
|
"In a standard I2P installation, the router uses both NTCP and SSU for "
|
|
"outbound connections."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:21
|
|
msgid "SSU Services"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:23
|
|
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:29
|
|
msgid ""
|
|
"Cooperative NAT/Firewall traversal using <a "
|
|
"href=\"#introduction\">introducers</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:30
|
|
msgid ""
|
|
"Local IP detection by inspection of incoming packets and <a "
|
|
"href=\"#peerTesting\">peer testing</a>"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:31
|
|
msgid ""
|
|
"Communication of firewall status and local IP, and changes to either to "
|
|
"NTCP"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:36
|
|
msgid "Protocol Details"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:38
|
|
msgid "Congestion control"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:40
|
|
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:47
|
|
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:58
|
|
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:70
|
|
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:77
|
|
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:83
|
|
msgid ""
|
|
"For both MTU values, it is desirable that (MTU % 16) == 12, so that\n"
|
|
"the payload portion after the 28-byte IP/UDP header is a multiple of\n"
|
|
"16 bytes, for encryption purposes."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:89
|
|
msgid ""
|
|
"For the small MTU value, it is desirable to pack a 2646-byte\n"
|
|
"Variable Tunnel Build Message efficiently into multiple packets;\n"
|
|
"with a 620-byte MTU, it fits into 5 packets with nicely."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:95
|
|
msgid ""
|
|
"Based on measurements, 1492 fits nearly all reasonably small I2NP "
|
|
"messages\n"
|
|
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going "
|
|
"to fit\n"
|
|
"into a live network MTU anyway)."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:101
|
|
msgid ""
|
|
"The MTU values were 608 and 1492 for releases 0.8.9 - 0.8.11.\n"
|
|
"The large MTU was 1350 prior to release 0.8.9."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:106
|
|
msgid ""
|
|
"The maximum receive packet size\n"
|
|
"is 1571 bytes as of release 0.8.12.\n"
|
|
"For releases 0.8.9 - 0.8.11 it was 1535 bytes.\n"
|
|
"Prior to release 0.8.9 it was 2048 bytes."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:113
|
|
msgid ""
|
|
"As of release 0.9.2, if a router's network interface MTU is less than "
|
|
"1484,\n"
|
|
"it will publish that in the network database, and other routers should\n"
|
|
"honor that when a connection is established."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:119
|
|
msgid ""
|
|
"For IPv6, the minimum MTU is 1280. The IPv6 IP/UDP header is 48 bytes,\n"
|
|
"so we use an MTU where (MTN % 16 == 0), which is true for 1280."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:124
|
|
msgid "Message Size Limits"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:125
|
|
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:136
|
|
msgid "Keys"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:138
|
|
msgid ""
|
|
"All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.\n"
|
|
"The MAC and session keys are negotiated as part of the DH exchange, used\n"
|
|
"for the HMAC and encryption, respectively. Prior to the DH exchange, \n"
|
|
"the publicly knowable introKey is used for the MAC and encryption."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:145
|
|
msgid ""
|
|
"When using the introKey, both the initial message and any subsequent\n"
|
|
"reply use the introKey of the responder (Bob) - the responder does \n"
|
|
"not need to know the introKey of the requester (Alice). The DSA \n"
|
|
"signing key used by Bob should already be known to Alice when she \n"
|
|
"contacts him, though Alice's DSA key may not already be known by \n"
|
|
"Bob."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:154
|
|
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:165
|
|
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:176
|
|
#, 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:186
|
|
#, 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:191
|
|
msgid "Replay prevention"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:193
|
|
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:200
|
|
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:208
|
|
msgid "Addressing"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:210
|
|
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:222
|
|
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:228
|
|
#, 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:233
|
|
msgid "Direct Session Establishment"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:234
|
|
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:239
|
|
msgid "Connection establishment (direct)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:240
|
|
msgid "Alice connects directly to Bob."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:254
|
|
#, 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:263
|
|
#, 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:271
|
|
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:280
|
|
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:294
|
|
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:321
|
|
msgid "Connection establishment (indirect using an introducer)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:323
|
|
msgid "Alice first connects to introducer Bob, who relays the request to Charlie."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:341
|
|
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:352
|
|
msgid "Peer testing"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:354
|
|
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:373
|
|
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:383
|
|
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:392
|
|
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:403
|
|
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:413
|
|
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:421
|
|
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:431
|
|
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:449
|
|
msgid "Transmission window, ACKs and Retransmissions"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:450
|
|
#, 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:458
|
|
#, 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:470
|
|
msgid "Security"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:471
|
|
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:479
|
|
msgid ""
|
|
"The details of validation are not specified\n"
|
|
"here. Implementers should add defenses where appropriate."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:485
|
|
msgid "Peer capabilities"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:489
|
|
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:495
|
|
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:504
|
|
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:510
|
|
msgid ""
|
|
"The current implementation repeatedly sends acknowledgments for the same "
|
|
"packets,\n"
|
|
"which unnecessarily increases overhead."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:515
|
|
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:521
|
|
msgid "The protocol should be extended to exchange MTUs during the setup."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:525
|
|
msgid "Rekeying is currently unimplemented and may never be."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:529
|
|
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:534
|
|
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:540
|
|
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:546
|
|
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:550
|
|
msgid "Capacities appear to be unused."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:554
|
|
msgid ""
|
|
"Signed-on times in SessionCreated and SessionConfirmed appear to be "
|
|
"unused or unverified."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:559
|
|
msgid "Implementation Diagram"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:560
|
|
msgid ""
|
|
"This diagram\n"
|
|
"should accurately reflect the current implementation, however there may "
|
|
"be small differences."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/transport/ssu.html:568
|
|
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:240
|
|
msgid ""
|
|
"Duplicate message detection is handled by a decaying Bloom filter on "
|
|
"message\n"
|
|
"IVs. Each router maintains a single Bloom filter to contain the XOR of "
|
|
"the IV and\n"
|
|
"the first block of the message received for all of the tunnels it is "
|
|
"participating\n"
|
|
"in, modified to drop seen entries after 10-20 minutes (when the tunnels "
|
|
"will have\n"
|
|
"expired). The size of the bloom filter and the parameters used are "
|
|
"sufficient to\n"
|
|
"more than saturate the router's network connection with a negligible "
|
|
"chance of \n"
|
|
"false positive. The unique value fed into the Bloom filter is the XOR of"
|
|
" the IV \n"
|
|
"and the first block so as to prevent nonsequential colluding peers in the"
|
|
" tunnel \n"
|
|
"from tagging a message by resending it with the IV and first block "
|
|
"switched."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:253
|
|
msgid "Endpoint Processing"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:255
|
|
msgid ""
|
|
"After receiving and validating a tunnel message at the last hop in the "
|
|
"tunnel,\n"
|
|
"how the endpoint recovers the data encoded by the gateway depends upon "
|
|
"whether \n"
|
|
"the tunnel is an inbound or an outbound tunnel. For outbound tunnels, "
|
|
"the \n"
|
|
"endpoint encrypts the message with its layer key just like any other "
|
|
"participant, \n"
|
|
"exposing the preprocessed data. For inbound tunnels, the endpoint is "
|
|
"also the \n"
|
|
"tunnel creator so they can merely iteratively decrypt the IV and message,"
|
|
" using the \n"
|
|
"layer and IV keys of each step in reverse order."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:265
|
|
msgid ""
|
|
"At this point, the tunnel endpoint has the preprocessed data sent by the "
|
|
"gateway,\n"
|
|
"which it may then parse out into the included I2NP messages and forwards "
|
|
"them as\n"
|
|
"requested in their delivery instructions."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:272
|
|
msgid "Tunnel Building"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:274
|
|
msgid ""
|
|
"When building a tunnel, the creator must send a request with the "
|
|
"necessary\n"
|
|
"configuration data to each of the hops and wait for all of them to agree "
|
|
"before\n"
|
|
"enabling the tunnel. The requests are encrypted so that only the peers "
|
|
"who need\n"
|
|
"to know a piece of information (such as the tunnel layer or IV key) has "
|
|
"that\n"
|
|
"data. In addition, only the tunnel creator will have access to the "
|
|
"peer's\n"
|
|
"reply. There are three important dimensions to keep in mind when "
|
|
"producing\n"
|
|
"the tunnels: what peers are used (and where), how the requests are sent "
|
|
"(and \n"
|
|
"replies received), and how they are maintained."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:288
|
|
msgid ""
|
|
"Beyond the two types of tunnels - inbound and outbound - there are two "
|
|
"styles\n"
|
|
"of peer selection used for different tunnels - exploratory and client.\n"
|
|
"Exploratory tunnels are used for both network database maintenance and "
|
|
"tunnel\n"
|
|
"maintenance, while client tunnels are used for end to end client messages."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:296
|
|
msgid "Exploratory tunnel peer selection"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:298
|
|
msgid ""
|
|
"Exploratory tunnels are built out of a random selection of peers from a "
|
|
"subset\n"
|
|
"of the network. The particular subset varies on the local router and on "
|
|
"what their\n"
|
|
"tunnel routing needs are. In general, the exploratory tunnels are built "
|
|
"out of\n"
|
|
"randomly selected peers who are in the peer's \"not failing but active\" "
|
|
"profile\n"
|
|
"category. The secondary purpose of the tunnels, beyond merely tunnel "
|
|
"routing,\n"
|
|
"is to find underutilized high capacity peers so that they can be promoted"
|
|
" for\n"
|
|
"use in client tunnels."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:308
|
|
#, python-format
|
|
msgid ""
|
|
"Exploratory peer selection is discussed further on the\n"
|
|
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:314
|
|
msgid "Client tunnel peer selection"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:316
|
|
msgid ""
|
|
"Client tunnels are built with a more stringent set of requirements - the "
|
|
"local\n"
|
|
"router will select peers out of its \"fast and high capacity\" profile "
|
|
"category so\n"
|
|
"that performance and reliability will meet the needs of the client "
|
|
"application.\n"
|
|
"However, there are several important details beyond that basic selection "
|
|
"that \n"
|
|
"should be adhered to, depending upon the client's anonymity needs."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:324
|
|
#, python-format
|
|
msgid ""
|
|
"Client peer selection is discussed further on the\n"
|
|
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:329
|
|
msgid "Peer Ordering within Tunnels"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:331
|
|
#, python-format
|
|
msgid ""
|
|
"Peers are ordered within tunnels to deal with the\n"
|
|
"<a href=\"%(pdf)s\">predecessor attack</a>\n"
|
|
"<a href=\"%(pdf2008)s\">(2008 update)</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:338
|
|
msgid ""
|
|
"To frustrate the predecessor \n"
|
|
"attack, the tunnel selection keeps the peers selected in a strict order -"
|
|
"\n"
|
|
"if A, B, and C are in a tunnel for a particular tunnel pool, the hop "
|
|
"after A is always B, and the hop after\n"
|
|
"B is always C."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:345
|
|
msgid ""
|
|
"Ordering is implemented by generating a random 32-byte key for each\n"
|
|
"tunnel pool at startup.\n"
|
|
"Peers should not be able to guess the ordering, or an attacker could\n"
|
|
"craft two router hashes far apart to maximize the chance of being at both"
|
|
"\n"
|
|
"ends of a tunnel.\n"
|
|
"Peers are sorted by XOR distance of the\n"
|
|
"SHA256 Hash of (the peer's hash concatenated with the random key) from "
|
|
"the random key"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:360
|
|
msgid ""
|
|
"Because each tunnel pool uses a different random key, ordering is "
|
|
"consistent\n"
|
|
"within a single pool but not between different pools.\n"
|
|
"New keys are generated at each router restart."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:367
|
|
msgid "Request delivery"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:369
|
|
#, python-format
|
|
msgid ""
|
|
"A multi-hop tunnel is built using a single build message which is "
|
|
"repeatedly\n"
|
|
"decrypted and forwarded. In the terminology of\n"
|
|
"<a href=\"%(pdf)s\">Hashing it out in Public</a>,\n"
|
|
"this is \"non-interactive\" telescopic tunnel building."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:376
|
|
#, python-format
|
|
msgid ""
|
|
"This tunnel request preparation, delivery, and response method is\n"
|
|
"<a href=\"%(tunnelcreation)s\">designed</a> to reduce the number of\n"
|
|
"predecessors exposed, cuts the number of messages transmitted, verifies "
|
|
"proper\n"
|
|
"connectivity, and avoids the message counting attack of traditional "
|
|
"telescopic\n"
|
|
"tunnel creation.\n"
|
|
"(This method, which sends messages to extend a tunnel through the "
|
|
"already-established\n"
|
|
"part of the tunnel, is termed \"interactive\" telescopic tunnel building "
|
|
"in\n"
|
|
"the \"Hashing it out\" paper.)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:387
|
|
#, python-format
|
|
msgid ""
|
|
"The details of tunnel request and response messages, and their "
|
|
"encryption,\n"
|
|
"<a href=\"%(tunnelcreation)s\">are specified here</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:392
|
|
msgid ""
|
|
"Peers may reject tunnel creation requests for a variety of reasons, "
|
|
"though\n"
|
|
"a series of four increasingly severe rejections are known: probabilistic "
|
|
"rejection\n"
|
|
"(due to approaching the router's capacity, or in response to a flood of "
|
|
"requests), \n"
|
|
"transient overload, bandwidth overload, and critical failure. When "
|
|
"received, \n"
|
|
"those four are interpreted by the tunnel creator to help adjust their "
|
|
"profile of\n"
|
|
"the router in question."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:401
|
|
#, python-format
|
|
msgid ""
|
|
"For more information on peer profiling, see the\n"
|
|
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:407
|
|
msgid "Tunnel Pools"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:409
|
|
#, python-format
|
|
msgid ""
|
|
"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:421
|
|
#, python-format
|
|
msgid ""
|
|
"Each pool has within its configuration a few key settings, defining how "
|
|
"many\n"
|
|
"tunnels to keep active, how many backup tunnels to maintain in case of "
|
|
"failure,\n"
|
|
"how long the tunnels should be, whether those\n"
|
|
"lengths should be randomized, as \n"
|
|
"well as any of the other settings allowed when configuring individual "
|
|
"tunnels.\n"
|
|
"Configuration options are specified on the <a href=\"%(i2cp)s\">I2CP "
|
|
"page</a>."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:431
|
|
msgid "Tunnel Lengths and Defaults"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:433
|
|
msgid "On the tunnel overview page"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:435
|
|
msgid "Anticipatory Build Strategy and Priority"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:437
|
|
msgid ""
|
|
"Tunnel building is expensive, and tunnels expire a fixed time after they "
|
|
"are built.\n"
|
|
"However, when a pool that runs out of tunnels, the Destination is "
|
|
"essentially dead.\n"
|
|
"In addition, tunnel build success rate may vary greatly with both local "
|
|
"and global\n"
|
|
"network conditions.\n"
|
|
"Therefore, it is important to maintain an anticipatory, adaptive build "
|
|
"strategy\n"
|
|
"to ensure that new tunnels are successfully built before they are needed,"
|
|
"\n"
|
|
"without building an excess of tunnels, building them too soon,\n"
|
|
"or consuming too much CPU or bandwidth creating and sending the encrypted"
|
|
" build messages."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:448
|
|
msgid ""
|
|
"For each tuple {exploratory/client, in/out, length, length variance}\n"
|
|
"the router maintains statistics on the time required for a successful\n"
|
|
"tunnel build.\n"
|
|
"Using these statistics, it calculates how long before a tunnel's "
|
|
"expiration\n"
|
|
"it should start attempting to build a replacement.\n"
|
|
"As the expiration time approaches without a successful replacement,\n"
|
|
"it starts multiple build attempts in parallel, and then\n"
|
|
"will increase the number of parallel attempts if necessary."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:459
|
|
msgid ""
|
|
"To cap bandwidth and CPU usage,\n"
|
|
"the router also limits the maximum number of build attempts outstanding\n"
|
|
"across all pools.\n"
|
|
"Critical builds (those for exploratory tunnels, and for pools that have\n"
|
|
"run out of tunnels) are prioritized."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:468
|
|
msgid "Tunnel Message Throttling"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:470
|
|
msgid ""
|
|
"Even though the tunnels within I2P bear a resemblance to a circuit "
|
|
"switched\n"
|
|
"network, everything within I2P is strictly message based - tunnels are "
|
|
"merely\n"
|
|
"accounting tricks to help organize the delivery of messages. No "
|
|
"assumptions are\n"
|
|
"made regarding reliability or ordering of messages, and retransmissions "
|
|
"are left\n"
|
|
"to higher levels (e.g. I2P's client layer streaming library). This "
|
|
"allows I2P\n"
|
|
"to take advantage of throttling techniques available to both packet "
|
|
"switched and\n"
|
|
"circuit switched networks. For instance, each router may keep track of "
|
|
"the \n"
|
|
"moving average of how much data each tunnel is using, combine that with "
|
|
"all of \n"
|
|
"the averages used by other tunnels the router is participating in, and be"
|
|
" able\n"
|
|
"to accept or reject additional tunnel participation requests based on its"
|
|
" \n"
|
|
"capacity and utilization. On the other hand, each router can simply drop"
|
|
" \n"
|
|
"messages that are beyond its capacity, exploiting the research used on "
|
|
"the \n"
|
|
"normal Internet."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:486
|
|
msgid ""
|
|
"In the current implementation, routers implement a\n"
|
|
"weighted random early discard (WRED) strategy.\n"
|
|
"For all participating routers (internal participant, inbound gateway, and"
|
|
" outbound endpoint),\n"
|
|
"the router will start randomly dropping a portion of messages as the\n"
|
|
"bandwidth limits are approached.\n"
|
|
"As traffic gets closer to, or exceeds, the limits, more messages are "
|
|
"dropped.\n"
|
|
"For an internal participant, all messages are fragmented and padded and "
|
|
"therefore are the same size.\n"
|
|
"At the inbound gateway and outbound endpoint, however, the dropping "
|
|
"decision is made\n"
|
|
"on the full (coalesced) message, and the message size is taken into "
|
|
"account.\n"
|
|
"Larger messages are more likely to be dropped.\n"
|
|
"Also, messages are more likely to be dropped at the outbound endpoint "
|
|
"than the inbound gateway,\n"
|
|
"as those messages are not as \"far along\" in their journey and thus the "
|
|
"network cost of\n"
|
|
"dropping those messages is lower."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:504
|
|
msgid "Mixing/batching"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:506
|
|
msgid ""
|
|
"What strategies could be used at the gateway and at each hop for "
|
|
"delaying,\n"
|
|
"reordering, rerouting, or padding messages? To what extent should this "
|
|
"be done\n"
|
|
"automatically, how much should be configured as a per tunnel or per hop "
|
|
"setting,\n"
|
|
"and how should the tunnel's creator (and in turn, user) control this "
|
|
"operation?\n"
|
|
"All of this is left as unknown, to be worked out for a distant future "
|
|
"release."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:515
|
|
msgid "Padding"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:516
|
|
msgid ""
|
|
"The padding strategies can be used on a variety of levels, addressing the"
|
|
"\n"
|
|
"exposure of message size information to different adversaries.\n"
|
|
"The current fixed tunnel message size is 1024 bytes. Within this "
|
|
"however, the fragmented\n"
|
|
"messages themselves are not padded by the tunnel at all, though for end "
|
|
"to end \n"
|
|
"messages, they may be padded as part of the garlic wrapping."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/implementation.html:526
|
|
msgid ""
|
|
"WRED strategies have a significant impact on end-to-end performance,\n"
|
|
"and prevention of network congestion collapse.\n"
|
|
"The current WRED strategy should be carefully evaluated and improved."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:2
|
|
msgid "Old Tunnel Implementation"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:5
|
|
#, python-format
|
|
msgid ""
|
|
"Note: Obsolete - NOT used! Replaced in 0.6.1.10 - see <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 "Selección de pares"
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:23
|
|
msgid "Meeting 125 (~13:12-13:30)"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:28
|
|
msgid "Review"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:30
|
|
msgid ""
|
|
"While we aren't aware of any published research on the advantages of \n"
|
|
"unidirecdtional tunnels,\n"
|
|
"they appear to make it harder to detect a \n"
|
|
"request/response pattern, which is quite possible to detect over a \n"
|
|
"bidirectional tunnel.\n"
|
|
"Several apps and protocols, notably HTTP,\n"
|
|
"do transfer data in such manner. Having the traffic follow the same \n"
|
|
"route to its destination and back could make it easier for an \n"
|
|
"attacker who has only timing and traffic volume data to infer the path a"
|
|
" \n"
|
|
"tunnel is taking.\n"
|
|
"Having the response come back along a different path arguably \n"
|
|
"makes it harder."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:45
|
|
msgid ""
|
|
"When dealing with \n"
|
|
"an internal adversary or most external adversaries, I2P's undirectional "
|
|
"tunnels\n"
|
|
"expose half as much traffic data than would be exposed with bidirectional"
|
|
" circuits\n"
|
|
"by simply looking at the flows themselves - an HTTP request and response "
|
|
"would \n"
|
|
"follow the same path in Tor, while in I2P the packets making up the "
|
|
"request \n"
|
|
"would go out through one or more outbound tunnels and the packets making "
|
|
"up \n"
|
|
"the response would come back through one or more different inbound "
|
|
"tunnels."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55
|
|
msgid ""
|
|
"The strategy of using two separate tunnels for inbound and outbound\n"
|
|
"communication is not the only technique available, and it does have "
|
|
"anonymity\n"
|
|
"implications. On the positive side, by using separate tunnels it lessens"
|
|
" the\n"
|
|
"traffic data exposed for analysis to participants in a tunnel - for "
|
|
"instance,\n"
|
|
"peers in an outbound tunnel from a web browser would only see the traffic"
|
|
" of\n"
|
|
"an HTTP GET, while the peers in an inbound tunnel would see the payload \n"
|
|
"delivered along the tunnel. With bidirectional tunnels, all participants"
|
|
" would\n"
|
|
"have access to the fact that e.g. 1KB was sent in one direction, then "
|
|
"100KB\n"
|
|
"in the other. On the negative side, using unidirectional tunnels means "
|
|
"that\n"
|
|
"there are two sets of peers which need to be profiled and accounted for, "
|
|
"and\n"
|
|
"additional care must be taken to address the increased speed of "
|
|
"predecessor\n"
|
|
"attacks. The tunnel pooling and building process\n"
|
|
"(peer selection and ordering strategies)\n"
|
|
"should minimize the worries of the predecessor attack."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:73
|
|
msgid "Anonymity"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
|
|
#, python-format
|
|
msgid ""
|
|
"A recent <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 ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80
|
|
msgid ""
|
|
"The paper's main point is that\n"
|
|
"deanonymizations on unidirectional tunnels take a longer time, which is "
|
|
"an \n"
|
|
"advantage, but that an attacker can be more certain in the unidirectional"
|
|
" case. \n"
|
|
"Therefore, the paper claims it isn't an advantage at all, but a "
|
|
"disadvantage, at least\n"
|
|
"with long-living eepsites."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88
|
|
msgid ""
|
|
"This conclusion is not fully supported by the paper. Unidirectional "
|
|
"tunnels clearly \n"
|
|
"mitigate other attacks and it's not clear how to trade off the risk of "
|
|
"the \n"
|
|
"attack in the paper\n"
|
|
"with attacks on a bidirectional tunnel architecture."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:95
|
|
msgid ""
|
|
"This conclusion is based on an arbitrary certainty vs. time weighting \n"
|
|
"(tradeoff) that may not be applicable in all cases. For \n"
|
|
"example, somebody could make a list of possible IPs then issue subpoenas "
|
|
"to \n"
|
|
"each. Or the attacker could DDoS each in turn and via a simple \n"
|
|
"intersection attack see if the eepsite goes down or is slowed down. So "
|
|
"close \n"
|
|
"may be good enough, or time may be more important."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104
|
|
msgid ""
|
|
"The conclusion is based on a specific weighting of the importance of "
|
|
"certainty \n"
|
|
"vs. time, and that weighting may be wrong, and it's definitely debatable,"
|
|
" \n"
|
|
"especially in a real world with subpoenas, search warrants, and other "
|
|
"methods \n"
|
|
"available for final confirmation."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:111
|
|
msgid ""
|
|
"A full analysis of the tradeoffs of unidirectional vs. bidirectional \n"
|
|
"tunnels is clearly outside the scope of the paper, and has not been done"
|
|
" \n"
|
|
"elsewhere. For example, how does this attack compare to the numerous "
|
|
"possible \n"
|
|
"timing attacks published about onion-routed networks? Clearly the authors"
|
|
" have not\n"
|
|
"done that analysis, if it's even possible to do it\n"
|
|
"effectively."
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120
|
|
msgid ""
|
|
"Tor uses bidirectional tunnels and has had a lot of academic review. I2P"
|
|
" \n"
|
|
"uses unidirectional tunnels and has had very little review. Does the lack"
|
|
" of a \n"
|
|
"research paper defending unidirectional tunnels mean that it is a poor "
|
|
"design \n"
|
|
"choice, or just that it needs more study? Timing attacks and \n"
|
|
"distributed attacks are difficult to defend against in both I2P and Tor. "
|
|
"The \n"
|
|
"design intent (see references above) was that unidirectional tunnels are "
|
|
"more \n"
|
|
"resistant to timing attacks. However, the paper presents a somewhat "
|
|
"different type of timing \n"
|
|
"attack. Is this attack, innovative as it is, sufficient to label I2P's \n"
|
|
"tunnel architecture (and thus I2P as a whole) a \"bad design\", and by \n"
|
|
"implication clearly inferior to Tor, or is it just a design alternative "
|
|
"that \n"
|
|
"clearly needs further investigation and analysis? There are several other"
|
|
" reasons \n"
|
|
"to consider I2P currently inferior to Tor and other projects (small "
|
|
"network \n"
|
|
"size, lack of funding, lack of review) but is unidirectional tunnels "
|
|
"really a \n"
|
|
"reason?"
|
|
msgstr ""
|
|
|
|
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:137
|
|
msgid ""
|
|
"In summary, \"bad design decision\" is apparently (since the paper does\n"
|
|
"not label bidirectional tunnels \"bad\") shorthand for \"unidirectional \n"
|
|
"tunnels are unequivocally inferior to bidirectional tunnels\", yet this \n"
|
|
"conclusion is not supported by the paper."
|
|
msgstr ""
|
|
|