La dernière mise à jour de cette page été effectuée en Juin 2012 et est exacte pour la version 0.9 du routeur.

Information générale

I2P inclut une architecture de greffons afin de facilement prendre en charge le développement et l’installation de logiciels supplémentaires.

Les greffons proposés prennent maintenant en charge le courriel distribué, les blogues, les clients IRC, le stockage distribué de fichiers, les wikis et plus.

Avantages aux utilisateurs i2p et développeurs d’app :

  • Distribution facile d’applications
  • Permet l’innovation et l’utilisation de bibliothèques supplémentaires sans s’inquiéter de l’augmentation de la taille de i2pupdate.sud
  • Supporte les grandes applications ou à but particulier qui ne seraient jamais empaquetées avec l’installation I2P
  • Applications vérifiées et signées cryptographiquement
  • Mises à jour automatiques d’applications, comme pour le routeur
  • Sépare l’installation initiale et les paquets de mise à jour, si vous le souhaitez, pour de plus petits téléchargements de mise à jour
  • Installation d’applications en un clic. Il n’est plus demandé aux utilisateurs de modifier wrapper.config ou clients.config
  • Isole les applications de l’installation $I2P de base
  • Vérification de compatibilité automatique de la version I2P, version Java, version Jetty, et de la version de l’application précédemment installée
  • Addition automatique de lien dans la console
  • Démarrage automatique de l’application, y compris modification classpath, sans exiger un redémarrage
  • Intégration automatique et démarrage d’applisWeb dans l’instance Jetty de la console
  • Faciliter la création de logithèque comme celle sur plugins.i2p.xyz
  • Désinstallation en un clic
  • Packs de langue et de thème pour la console
  • Amène des informations détaillées d’application à la console de routeur
  • Applications non Java également prises en charge

Version I2P requise

0.7.12 ou plus récente.

Installation

Pour installer et démarrer un greffon, copiez le lien d’installation .xpi2p dans le formulaire au bas de configclients.jsp dans votre console de routeur et cliquez sur le bouton « Installer le greffon ». Après installation et démarrage d’un greffon, un lien vers le greffon apparaîtra normalement en haut de votre barre de sommaire.

Pour mettre un greffon à jour vers la dernière version, cliquez simplement sur le bouton de mise à jour sur configclients.jsp. Vous y trouverez aussi un bouton pour vérifier si une version plus récente du greffon est proposée, ainsi qu’un bouton pour vérifier les mises à jour de tous les greffons. Les mises à jour des greffons seront vérifiées automatiquement lors de la mise à jour vers une nouvelle version d’I2P (n’incluant pas les versions développement).

Développement

Consultez la plus récente spécification des greffons et le forum sur les greffons sur zzz.i2p.

Consultez aussi les sources de greffons développés par diverses personnes. Certains greffons, tels que snowman ont été développés spécifiquement comme exemples.

Développeurs recherchés ! Les plug-ins sont une super façon d’apprendre au sujet d’I2P ou d’ajouter facilement une fonctionnalité.

Commencer

Pour créer un greffon à partir d’un paquet binaire existant, vous devrez obtenir makeplugin.sh de la branche i2p.scripts dans Monotone.

Anomalies connues

Notez que l’architecture de plug-in du routeur ne fournit actuellement PAS de quelconque isolement de sécurité supplémentaire ni sandboxing de plug-ins.

  • Les mises à jour d’un plug-in avec des jars (pas des wars) inclus ne seront pas reconnues si le plug-in était déjà en cours d’exécution, car il exige que l’astuce de tromperie de classe chargeur vide la classe cache; une redémarrage complet du routeur est exigé.
  • Le bouton d’arrêt peut être affiché même s’il n’y a rien à arrêter.
  • Les plug-ins exécutés dans une JVM séparée créent un répertorie logs/ dans $CWD.
  • Aucune clés initiales ne sont présentes, à part celles de jrandom et de zzz (utilisant la même clé que pour la mise à jour de routeur), ainsi la première clé vue pour un signataire sera automatiquement acceptée—il n’y a aucune autorité de signature de clé.
  • Lors de la suppression d’un plug-in, le répertoire n’est pas toujours supprimé, en particulier sur Windows.
  • Installer un plug-in exigeant Java 1.6 sur une machine Java 1.5 aboutira à au message "le plug-in est corrompu" si le fichier est compressé en pack200.
  • Le thèmes et des plug-ins de traduction ne sont pas testés.
  • Désactiver le démarrage automatique ne marche pas toujours.