I2P plugin framework umožňuje rozšířit router bez zásahu do základní instalace. Dostupné pluginy pokrývají e-mail, blogy, IRC, úložiště, wiki, monitorovací nástroje a další.
Bezpečnostní upozornění: Pluginy běží se stejnými oprávněními jako router. Zacházejte se staženými soubory od třetích stran stejně, jako byste zacházeli s jakoukoli aktualizací podepsaného softwaru—před instalací ověřte zdroj.
1. Instalace pluginu
- Zkopírujte URL pro stažení pluginu ze stránky projektu.

- Otevřete stránku konfigurace pluginů
v konzoli routeru.

- Vložte URL do pole pro instalaci a klikněte na Install Plugin.

Router stáhne podepsaný archiv, ověří podpis a plugin aktivuje okamžitě. Většina pluginů přidá odkazy v konzoli nebo služby na pozadí, aniž by vyžadovala restart routeru.
2. Proč na pluginech záleží
- Distribuce jedním kliknutím pro koncové uživatele—žádné ruční úpravy
wrapper.configneboclients.config - Udržuje základní balík
i2pupdate.su3malý a zároveň poskytuje velké nebo specializované funkce na vyžádání - Volitelné JVM per plugin poskytují izolaci procesů v případě potřeby
- Automatické kontroly kompatibility s verzí routeru, Java runtime a Jetty
- Aktualizační mechanismus zrcadlí router: podepsané balíčky a inkrementální stahování
- Podporovány jsou console integrace, jazykové balíčky, UI témata a aplikace mimo Javu (přes skripty)
- Umožňuje kurátorované adresáře „app store", jako je
plugins.i2p
3. Správa nainstalovaných pluginů
Použijte ovládací prvky na stránce I2P Router Plugin k:
- Zkontrolovat aktualizace jednoho pluginu
- Zkontrolovat všechny pluginy najednou (spouští se automaticky po aktualizaci routeru)
- Nainstalovat všechny dostupné aktualizace jedním kliknutím

- Povolit/zakázat automatické spuštění pro pluginy, které registrují služby
- Čistě odinstalovat pluginy
4. Vytvořte si vlastní plugin
- Projděte si specifikaci pluginu pro požadavky na balíčkování, podepisování a metadata.
- Použijte
makeplugin.shk zabalení existujícího binárního souboru nebo webové aplikace do instalovatelného archivu. - Zveřejněte URL adresy pro instalaci i aktualizaci, aby router mohl rozlišit mezi první instalací a postupnými upgrady.
- Umístěte kontrolní součty a podpisové klíče viditelně na stránku vašeho projektu, abyste pomohli uživatelům ověřit autenticitu.
Hledáte příklady? Prohlédněte si zdrojový kód komunitních pluginů na plugins.i2p (například ukázku snowman).
5. Známá omezení
- Aktualizace pluginu, který obsahuje běžné JAR soubory, může vyžadovat restart routeru, protože Java class loader cachuje třídy.
- Konzole může zobrazovat tlačítko Stop, i když plugin nemá žádný aktivní proces.
- Pluginy spuštěné v samostatném JVM vytvoří adresář
logs/v aktuálním pracovním adresáři. - Při prvním výskytu je klíč podepisujícího automaticky důvěryhodný; neexistuje žádná centrální autorita pro podepisování.
- Windows někdy zanechává po odinstalaci pluginu prázdné adresáře.
- Instalace pluginu určeného pouze pro Java 6 na JVM Java 5 hlásí „plugin je poškozený" kvůli kompresi Pack200.
- Pluginy pro témata a překlady zůstávají z velké části netestované.
- Příznaky automatického startu ne vždy přetrvávají u nespravovaných pluginů.
6. Požadavky a doporučené postupy
- Podpora pluginů je dostupná v I2P 0.7.12 a novějších verzích.
- Udržujte svůj router a pluginy aktuální, abyste získali bezpečnostní opravy.
- Dodávejte stručné poznámky k vydání, aby uživatelé pochopili, co se mezi verzemi změnilo.
- Pokud je to možné, hostujte archivy pluginů přes HTTPS uvnitř I2P, abyste minimalizovali vystavení metadat v čisté síti.
7. Další čtení
- Specifikace pluginů
- Framework klientských aplikací
- Repozitář I2P skriptů pro balíčkovací utility