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).
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
- Naming and Address Book
- 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
- Protocolo SAMv2
- Protocolo SAMv3
- Protocolo BOB
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
- 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