i2pd.md 20 KB

i2pd

Guía de configuración de i2pd.

Preparación

Copiar los ejemplos de los archivos de configuración:

mkdir -p "${HOME}/.i2pd/keys"
touch "${HOME}/.i2pd/tunnels.conf"
cp /usr/doc/i2pd-VERSION/i2pd.conf "${HOME}/.i2pd"
cp -R /usr/doc/i2pd-VERSION/certificates "${HOME}/.i2pd"
chmod 700 "${HOME}/.i2pd"

Ejecutar i2pd:

i2pd

Configuración

Opciones generales

Opción Valor por defecto Descripción
conf ~/.i2pd/i2pd.conf o /var/lib/i2pd/i2pd.conf Archivo de configuración.
tunconf ~/.i2pd/tunnels.conf o /var/lib/i2pd/tunnels.conf Archivo de configuración de túneles.
pidfile ~/i2pd/i2pd.pid o /var/lib/i2pd/i2pd.pid Archivo de identificador de proceso.
log stdout Gestor de registros (file, stdout o syslog).
logfile ~/.i2pd/i2pd.log o /var/lib/i2pd/i2pd.log Archivo de registros (solo en modo file).
loglevel warn Nivel de registro de mensajes (debug, info, warn, error).
logclftime false (deshabilitado) Utiliza el formato CLF (Common Log Format) para la fecha y hora de los registros.
datadir /var/lib/i2pd Directorio para almacenar datos propios de i2pd.
host auto (si SSU2 está habilitado) Dirección IP externa donde escuchará conexiones entrantes.
port auto (random) Puerto donde escuchará conexiones entrantes.
daemon false (deshabilitado) Ejecuta i2pd en segundo plano.
service false (deshabilitado) Utiliza la carpeta /var/lib/i2pd (en unix) o C:\ProgramData\i2pd (en Windows) para datadir. Es ignorado en otros sistema operativos.
ifname auto Nombre de la interfaz de red donde escuchará conexiones entrantes desde IPv4 e IPv6.
ifname4 auto (si ipv4 está habilitado) Nombre de la interfaz de red donde solo escuchará conexiones entrantes desde IPv4.
ifname6 auto (si ipv6 está habilitado) Nombre de la interfaz de red donde solo escuchará conexiones entrantes desde IPv6.
address4 auto (si ipv4 está habilitado) Dirección IPv4 donde escuchará conexiones entrantes.
address6 auto (si ipv6 está habilitado) Dirección IPv6 donde escuchará conexiones entrantes.
nat true (habilitado) Permite conexiones entrantes desde internet.
ipv4 true (habilitado) Permite comunicaciones a través de IPv4.
ipv6 false (deshabilitado) Permite comunicaciones a través de IPv6.
notransit false (deshabilitado) Deshabilita el enrutamiento de tráfico de terceros de la red I2P.
floodfill false (deshabilitado) Permite convertirse en un nodo de enrutamiento dentro de la red I2P.
bandwidth L (32 KBps) Limite de ancho de banda dedicado para i2pd.
share 100 Porcentaje máximo de ancho de banda de transmisión.
family ---- Nombre de la familia al que pertenece el router.
netid 2 Identificador de red de conexión a I2P.

Un nodo de enrutamiento transmite información sobre la red I2P para mantenerla actualizada. Un router consume y transporta tráfico de la red I2P.

Opciones del protocolo NTCP2

Opción Valor por defecto Descripción
ntcp2.enabled true (habilitado) Habilita el protocolo de transporte TCP NTCP2 (como prioridad para conexiones de salida).
ntcp2.published true (habilitado) Permite conexiones entrantes NTCP2 (si el NAT/Firewall lo permite).
ntcp2.port auto (puerto de la sección general) Puerto donde escuchará conexiones entrantes NTCP2.
ntcp2.addressv6 :: (cualquier dirección IPv6) Dirección IPv6 externa donde escuchará conexiones entrantes NTCP2.
ntcp2.proxy ---- Establece un servidor proxy para NTCP2.

Opciones del protocolo SSU2

Opción Valor por defecto Descripción
ssu2.enabled true (habilitado) Habilita el protocolo de transporte UDP SSU2 (para conexiones de entrada y salida).
ssu2.published true (habilitado) Permite conexiones entrantes SSU2.
ssu2.port auto (puerto de la sección general) Puerto donde escuchará conexiones entrantes SSU2.
ssu2.proxy ---- Establece un servidor proxy UDP SOCKS5 para SSU2.
ssu2.mtu4 auto (ajuste automático) Máxima unidad de transferencia de datos para IPv4.
ssu2.mtu6 auto (ajuste automático) Máxima unidad de transferencia de datos para IPv6.

Opciones del monitor web HTTP

Opción Valor por defecto Descripción
http.enabled true (habilitado) Habilita la interfaz web de monitoreo de i2pd.
http.address 127.0.0.1 Dirección IP donde escuchará el servidor HTTP de la interfaz web.
http.port 7070 Puerto donde escuchará el servidor HTTP de la interfaz web.
http.hostname localhost Nombre de host esperado para la interfaz web.
http.webroot / Ruta raíz para la interfaz web.
http.auth false (deshabilitado) Habilita la autenticación básica para acceder a la interfaz web.
http.user i2pd Nombre de usuario para acceder a la interfaz web.
http.pass ---- Contraseña para acceder a la interfaz web.
http.strictheaders true (habilitado) Habilita la comprobación estricta de los encabezados del servidor HTTP de la interfaz web.
http.showTotalTCSR false (deshabilitado) Muestra el porcentaje total de creación exitosa de túneles en la interfaz web.
http.lang english Lenguaje de la interfaz web.

Opciones del proxy HTTP

Opción Valor por defecto Descripción
httpproxy.enabled true (habilitado) Habilita el proxy HTTP para navegar por internet en la red I2P.
httpproxy.address 127.0.0.1 Dirección IP donde escuchará el proxy HTTP.
httpproxy.port 4444 Puerto donde escuchará el proxy HTTP.
httpproxy.addresshelper true (habilitado) Habilita el servicio de salto (jump) para solucionar consultas fallidas.
httpproxy.keys http-proxy-keys.dat
httpproxy.signaturetype 7
httpproxy.inbound.length 3
httpproxy.inbound.quantity 5
httpproxy.inbound.lengthVariance 0
httpproxy.outbound.length 3
httpproxy.outbound.quantity 5
httpproxy.outbound.lengthVariance 0
httpproxy.outproxy ----
httpproxy.i2cp.leaseSetType 3
httpproxy.i2cp.leaseSetEncType 0,4

Opciones del proxy SOCKS

Opción Valor por defecto Descripción
socksproxy.enabled true (habilitado) Habilita el proxy SOCKS para conexiones anónimas en la red I2P con la mayoría de aplicaciones.
socksproxy.address 127.0.0.1 Dirección IP donde escuchará el proxy SOCKS.
socksproxy.port 4447 Puerto donde escuchará el proxy SOCKS.
socksproxy.keys socks-proxy-keys.dat
socksproxy.signaturetype 7
socksproxy.inbound.length 3
socksproxy.inbound.quantity 5
socksproxy.inbound.lengthVariance 0
socksproxy.outbound.length 3
socksproxy.outbound.quantity 5
socksproxy.outbound.lengthVariance 0
socksproxy.outproxy.enabled false (deshabilitado)
socksproxy.outproxy 127.0.0.1
socksproxy.outproxyport 9050
socksproxy.i2cp.leaseSetType 3
socksproxy.i2cp.leaseSetEncType 0,4

Opciones de la API SAM

Opción Valor por defecto Descripción
sam.enabled true (habilitado) Habilita el servicio de la API SAM orientada a mensajes dentro de la red I2P.
sam.address 127.0.0.1 Dirección IP donde escuchará el servicio.
sam.port 7656 Puerto TCP donde escuchará el servicio.
sam.portudp 7655 Puerto UDP donde escuchará el servicio.
sam.singlethread true (habilitado) Ejecuta el servicio en un solo subproceso.

Opciones de la API BOB

Opción Valor por defecto Descripción
bob.enabled false (deshabilitado) Habilita el servicio de la API BOB para realizar conexiones a I2P con opciones más avanzadas.
bob.address 127.0.0.1 Dirección IP donde escuchará el servicio.
bob.port 2827 Puerto donde escuchará el servicio.

Opciones del protocolo I2CP

Opción Valor por defecto Descripción
i2cp.enabled false (deshabilitado) Habilita el protocolo de cliente de I2P para mensajes seguras y asíncronas sobre un único socket TCP en I2P sin requerir el uso directo de una API.
i2cp.address 127.0.0.1 Dirección IP donde escuchará el servicio.
i2cp.port 7654 Puerto donde escuchará el servicio (ignorado en Android).
i2cp.singlethread true (habilitado) Ejecuta el servicio en un solo subproceso.

Opciones de la API I2PControl

Opción Valor por defecto Descripción
i2pcontrol.enabled false (deshabilitado) Habilita el servicio HTTP de la API I2PControl para interactuar con el router de I2P.
i2pcontrol.address 127.0.0.1 Dirección IP donde escuchará el servicio.
i2pcontrol.port 7650 Puerto donde escuchará el servicio.
i2pcontrol.password itoopie Contraseña de acceso a la API.
i2pcontrol.cert i2pcontrol.crt.pem Certificado para configurar el servidor de la API a HTTPS.
i2pcontrol.key i2pcontrol.key.pem Clave privada para configurar el servidor de la API a HTTPS.

Opciones UPNP

Opción Valor por defecto Descripción
upnp.enabled false (deshabilitado en CLI) Habilita UPnP para abrir puertos en el cortafuegos.
upnp.name I2Pd Nombre que aparecerá en la lista de reenvío de UPnP.

Opciones de criptografía

Opción Valor por defecto Descripción
precomputation.elgamal false (deshabilitado en x86-64) Habilita la tabla de datos precalculados para el algoritmo de cifrado de mensajes de I2P ElGamal.

Opciones de servidores de resembrado

Opción Valor por defecto Descripción
reseed.verify false (deshabilitado) Habilita la verificación de los archivos descargados desde los servidores de resembrado para obtener información actualizada sobre otros nodos de la red I2P.
reseed.urls auto (lista por defecto) Lista de URLs de servidores de resembrado donde solicitará información actualizada sobre otros nodos de la red I2P.
reseed.yggurls auto (lista por defecto) Lista de URLs de servidores de resembrado donde solicitará información actualizada sobre otros nodos de la red I2P desde la red Yggdrasil.
reseed.file ---- Similar a reseed.urls pero desde un archivo externo que contiene una lista de servidores de resembrado.
reseed.zipfile ---- Similar a reseed.file pero desde un archivo externo comprimido que contiene una lista de servidores de resembrado.
reseed.threshold 25 Número mínimo de enrutadores conocidos antes de solicitar información actualizada sobre otros nodos de la red I2P.
reseed.floodfill ---- (si floodfill está habilitado) Habilita el proceso de resembrado solo entre nodos.
reseed.proxy ---- Establece un servidor proxy para el proceso de resembrado.

Opciones de la libreta de nombres y direcciones

Opción Valor por defecto Descripción
addressbook.enabled true (habilitado) Habilita las búsquedas en la libreta de direcciones y suscripciones.
addressbook.defaulturl auto (URL por defecto) URL de la libreta de direcciones para la configuración inicial.
addressbook.subscriptions auto (lista por defecto) Lista de URLs para suscribirse a otras libretas de direcciones.
addressbook.hostsfile ---- Archivo externo que servirá de libreta de direcciones.

Una libreta de direcciones asocia una dirección criptográfica de I2P en base32 o base64 a una dirección legible.

Opciones de limitación

Opción Valor por defecto Descripción
limits.transittunnels 5000 Número máximo de túneles de tránsito que se pueden mantener simultáneamente (el doble si floodfill está habilitado).
limits.openfiles 0 (auto) Número máximo de descriptores de archivos abiertos.
limits.coresize 0 (auto) Tamaño máximo en Kb del archivo de núcleo que se genera en caso de fallos o errores.
limits.zombies 0 Porcentaje mínimo de túneles creados con éxito donde pausará la limpieza de túneles.

Opciones de confianza

Opción Valor por defecto Descripción
trust.enabled false (deshabilitado) Habilita las opciones de confianza.
trust.family ---- Nombre de la familia de enrutadores en la que solo puede realizar conexiones a I2P.
trust.routers ---- Lista de enrutadores en la que solo puede realizar conexiones a I2P.
trust.hidden false (deshabilitado) Oculta el router de otros enrutadores.

Opciones de exploración de túneles

Opción Valor por defecto Descripción
exploratory.inbound.length 2 Longitud máxima de los túneles de entrada exploratorios.
exploratory.inbound.quantity 3 Cantidad máxima de túneles de entrada exploratorios que se crearán.
exploratory.outbound.length 2 Longitud máxima de los túneles de salida exploratorios.
exploratory.outbound.quantity 3 Cantidad máxima de túneles de salida exploratorios que se crearán.

Ajustar estos valores mejora la capacidad de descubrir nuevos nodos y construir rutas de comunicación, pero puede consumir más recursos y aumentar la latencia.

Opciones de sincronización del tiempo

Opción Valor por defecto Descripción
nettime.enabled false (deshabilitado) Habilita la sincronización del tiempo del router i2pd.
nettime.ntpservers auto (lista por defecto) Lista de servidores NTP para sincronizar el tiempo.
nettime.ntpsyncinterval 72 Intervalo de sincronización del tiempo en horas.
nettime.frompeer true (habilitado) Habilita la sincronización del tiempo del router a través de otros routers.

Opciones de persistencia de la información de la red

Opción Valor por defecto Descripción
persist.profiles true (habilitado) Habilita almacenar en la unidad de almacenamiento información sobre otros routers para crear estrategias de conectividad en I2P.
persist.addressbook true (habilitado) Habilita almacenar en la unidad de almacenamiento la libreta de direcciones y suscripciones.

Opciones de transporte de red en malla

Opción Valor por defecto Descripción
meshnets.yggdrasil false (deshabilitado) Habilita la conectividad a través de la red Yggdrasil.
meshnets.yggaddress ---- Dirección IP y puerto donde escuchará conexiones de la red Yggdrasil.

Configuración de túneles I2P

Referencias