Segue um índice para a documentação técnica da I2P.
Este índice é ordenado da camada mais alta para a mais baixa. As camadas mais altas são para "clientes" ou aplicações; as camadas mais baixas são internas ao próprio roteador. A interface entre as aplicações e o roteador é a API do protocolo I2CP (Protocolo de Controle da I2P).
The specifications linked below are currently supported in the network. See the Propostas page for specifications in discussion or development.O Projeto I2P é comitado de maneira a manter a documentação disponível sempre atual. Se você encontrar alguma informação improcedente nos documentos listados abaixo, por favor, produza uma nota identificando o problema.
Índice da Documentação Técnica
Visão geral
- Introdução técnica
- Uma introdução menos técnica
- Modelos de risco e Análises
- Comparações com outras redes anônimas
- Especificações
- Gráfico da pilha de protocolos
- Publicações sobre a I2P
- Apresentações, artigos, tutoriais, vídeos e entrevistas
- Visão geral do Projeto Internet Invisível (I2P), 28 de agosto de 2003 (pdf)
Tópicos sobre a Camada de aplicação
- Application Development Overview and Guide
- Nomenclatura e Catálogo de Endereços
- Address Book Subscription Feed Commands
- Extensões - Uma visão geral
- Especificações de extensões
- Clientes gerenciados
- Integrando o roteador no seu aplicativo
- Bittorrent sobre a I2P
- API da extensão I2PControl
- Formato hostsdb.blockfile
- Formato do arquivo de configuração
API da Camada de Aplicação e Protocolos
Alto nível, APIs fáceis de usar para escrever aplicações em qualquer linguagem para enviar e receber dados- Guia e Visão Geral do Desenvolvimento de Aplicações
- I2PTunnel
- Configuração de Túnel I2P
- SOCKS Proxy
- HTTP Proxy
- CONNECT Proxy
- IRC Proxy
- SOCKS IRC Proxy
- Streamr Proxy
- HTTP Bidir Proxy
- Protocolo SAM (Deprecated)
- Protocolo SAMv2 (Deprecated)
- Protocolo SAMv3
- Protocolo BOB (Deprecated)
API do transporte ponta-a-ponta e Protocolos
Os protocolos ponta-a-ponta usados por clientes para comunicações confiáveis e não-confiáveis.- Streaming Protocol Overview
- Especificação do protocolo de streaming
- Javadoc da biblioteca de streaming
- Datagramas
- Javadoc do datagrama
API e protocolo de Interface Cliente-para-Roteador
A API de baixo-nivel usada por clientes (aplicações) para enviar e receber trafego para um roteador. Tradicionalmente usado apenas por aplicações Java e APIs de alto-nível.- I2CP - Protocolo de Controle da I2P / Uma visão geral da API
- Especificação do I2CP
- Javadoc da API do I2CP
- Especificação das estruturas de dados comuns
- Javadoc das Estruturas de Dados
Criptografia de ponta a ponta
Como as mensagens de cliente são criptografadas de ponta a ponta pelo roteador- ECIES-X25519-AEAD-Ratchet encryption for destinations
- ECIES-X25519 encryption for routers
- Criptografia ElGamal/AES+SessionTag
- Detalhes sobre as criptografias AES e ElGamal
Banco de dados da rede
Armazenamento distribuído e recuperação de informações relativas aos roteadores e clientes.- Uma visão geral do banco de dados da rede, detalhes e análise de risco
- Hashes criptográficas
- Assinaturas criptográficas
- Red25519 signatures
- Especificação da repropagação do roteador
- Base32 Addresses for Encrypted Leasesets
Protocolo de mensagens do roteador
A I2P é baseada em roteamento orientado-a-mensagens. As mensagens enviadas entre os roteadores são definidas pelo protocolo I2NP.- I2NP - Uma visão geral do protocolo de rede I2P
- Especificação do I2NP
- Javadoc do I2NP
- Especificação das estruturas de dados comuns
- Encrypted Leaseset specification
- Javadoc das Estruturas de Dados
Túneis
Selecionando pares, requisitando túneis através de tais pares, criptografando e roteando mensagens através desses túneis.- Determinação de perfis e seleção de pares
- Uma visão geral do roteamento via túneis
- Roteamento e terminologia "alho"
- Construção de túneis e criptografia
- ElGamal/AES para construir requisição de encriptação
- Detalhes sobre as criptografias AES e ElGamal
- Especificação para a construção de túneis (ElGamal)
- Especificação para a construção de túneis (ECIES-X25519)
- Especificação da mensagem de túnel de baixo-nível
- Túneis unidirecionais
- Determinação de perfis e seleção de pares na Rede anônima I2P artigo de 2009 (pdf), desatualizado mas, em linhas gerais, ainda correto
Camada de transporte
Os protocolos para a comunicação direta (ponto-a-ponto) de roteador para roteador- Uma visão geral da camada de transporte
- NTCP Especificação e visão geral do transporte baseado em TCP
- NTCP2 specification
- SSU Uma visão geral do transporte baseado em UDP
- Especificação SSU
- SSU2 specification
- Criptografia de transporte NTCP
- Criptografia do transporte SSU
- Javadoc da biblioteca de transporte
- Javadoc do NTCP
- Javadoc do SSU
Outros tópicos sobre o roteador
- Atualizações do software do roteador
- Especificação da repropagação do roteador
- Biblioteca BigInteger nativa
- Sincronização de tempo e NTP
- Desempenho
- Formato do arquivo de configuração
- GeoIP File Format
Guia para Desenvolvedores e Recursos
- Guia para novos desenvolvedores
- Guia para os novos tradutores
- Guia do Monotone
- Diretrizes para os desenvolvedores
- Javadocs na internet ordinária: Servidor 1 Servidor 3 Nota: sempre verifique qual javadocs é o atual, verificando o número do lançamento.
- Javadocs na I2P: Servidor 3 Nota: sempre verifique qual javadocs é o atual, verificando o número do lançamento.
- Propostas
- Integrando o roteador no seu aplicativo
- How to Set up a Reseed Server
- Portas usadas pela I2P
- Atualizando o encapsulador manualmente
- Fórum de usuários
- Fórum de desenvolvedores na I2P
- Acompanhamento de falhas
- Código-fonte da I2P exportado para o GitHub
- Repositório Git de código-fonte da I2P dentro da I2P
- Tradução do código-fonte no Transifex
- Plano de ação
- Lista de tarefas por fazer (em desuso)
- Ancient invisiblenet I2P documents (2003)
- The ancient I2P mailing list 2004-07 to 2006-10