O framework de plugins do I2P permite que você estenda o router sem tocar na instalação principal. Os plugins disponíveis cobrem e-mail, blogs, IRC, armazenamento, wikis, ferramentas de monitoramento e muito mais.
Nota de segurança: Os plugins são executados com as mesmas permissões do router. Trate downloads de terceiros da mesma forma que trataria qualquer atualização de software assinada—verifique a fonte antes de instalar.
1. Instalar um Plugin
- Copie o URL de download do plugin da página do projeto.

- Abra a página de Configuração de Plugins
do console do router.

- Cole o URL no campo de instalação e clique em Install Plugin.

O router obtém o arquivo assinado, verifica a assinatura e ativa o plugin imediatamente. A maioria dos plugins adiciona links no console ou serviços em segundo plano sem exigir uma reinicialização do router.
2. Por Que os Plugins São Importantes
- Distribuição com um clique para utilizadores finais—sem edições manuais em
wrapper.configouclients.config - Mantém o pacote central
i2pupdate.su3pequeno enquanto fornece funcionalidades grandes ou de nicho sob demanda - JVMs opcionais por plugin fornecem isolamento de processos quando necessário
- Verificações automáticas de compatibilidade com a versão do router, runtime Java e Jetty
- Mecanismo de atualização espelha o router: pacotes assinados e downloads incrementais
- Integrações na consola, pacotes de idiomas, temas de UI e aplicações não-Java (via scripts) são todos suportados
- Permite diretórios de “loja de aplicações” curados como
plugins.i2p
3. Gerenciar Plugins Instalados
Use os controles no Plugin do Roteador I2P para:
- Verificar atualizações de um único plugin
- Verificar todos os plugins de uma vez (acionado automaticamente após atualizações do router)
- Instalar quaisquer atualizações disponíveis com um clique

- Ativar/desativar início automático para plugins que registram serviços
- Desinstalar plugins de forma limpa
4. Construa Seu Próprio Plugin
- Revise a especificação de plugin para requisitos de empacotamento, assinatura e metadados.
- Use
makeplugin.shpara empacotar um binário ou webapp existente em um arquivo instalável. - Publique URLs tanto de instalação quanto de atualização para que o router possa distinguir instalações iniciais de atualizações incrementais.
- Forneça checksums e chaves de assinatura de forma destacada na página do seu projeto para ajudar os usuários a verificar a autenticidade.
Procurando exemplos? Navegue pelo código-fonte dos plugins da comunidade em plugins.i2p (por exemplo, o exemplo snowman).
5. Limitações Conhecidas
- Atualizar um plugin que fornece arquivos JAR simples pode exigir uma reinicialização do router porque o carregador de classes Java mantém classes em cache.
- O console pode exibir um botão Parar mesmo que o plugin não tenha nenhum processo ativo.
- Plugins lançados em uma JVM separada criam um diretório
logs/no diretório de trabalho atual. - Na primeira vez que uma chave de assinante aparece, ela é automaticamente confiável; não há autoridade central de assinatura.
- O Windows às vezes deixa diretórios vazios para trás após desinstalar um plugin.
- Instalar um plugin exclusivo para Java 6 em uma JVM Java 5 reporta “plugin está corrompido” devido à compressão Pack200.
- Plugins de tema e tradução permanecem amplamente não testados.
- Flags de início automático nem sempre persistem para plugins não gerenciados.
6. Requisitos e Melhores Práticas
- O suporte a plugins está disponível no I2P 0.7.12 e versões mais recentes.
- Mantenha seu router e plugins atualizados para receber correções de segurança.
- Distribua notas de lançamento concisas para que os usuários entendam o que muda entre versões.
- Quando possível, hospede arquivos de plugin via HTTPS dentro do I2P para minimizar a exposição de metadados na clearnet.
7. Leitura Adicional
- Especificação de plugin
- Framework de aplicação cliente
- Repositório de scripts I2P para utilitários de empacotamento