Эта страница была обновлена Июнь 2012 и содержит сведения для версии маршрутизатора 0.9.

Основная информация

The I2P network includes a plugin architecture to support both easy development and installation of new plugins.

Уже сейчас доступны плагины с поддержкой распределенной электронной почты, блогов, клиентов IRC, распределенного хранилища файлов, wiki и др.

Adding Plugins To Your I2P Router

Плагины I2P можно установить, скопировав URL-адрес загрузки плагина на соответствующий раздел на Странице конфигурации плагина консоли маршрутизатора.

Начните с копирования URL плагина со страницы, на которой он опубликован.

Затем зайдите на страницу конфигурации плагина, ссылку на которую можно найти на главной странице консоли.

Вставьте URL-адрес и нажмите "Установить плагин".

Преимущества для пользователей I2P и разработчиков ПО:

  • Простое распространение приложений
  • Позволяет использовать инновации и дополнительные библиотеки, не беспокоясь об увеличении размера i2pupdate.sud
  • Поддержка больших или специализированных приложений, которые никогда не будут связаны с установкой I2P
  • Криптографически подписанные и проверенные приложения
  • Автоматическое обновление приложений, совсем как для маршрутизатора
  • Отдельные начальная установка и пакеты обновлений, по желанию, для уменьшения размера загружаемых обновлений
  • Установка приложений в один клик. Не спрашивая пользователей об изменении wrapper.config или clients.config
  • Изолирование приложений от базовой установки $I2P
  • Автоматическая проверка совместимости с версией I2P, Java, Jetty и предыдущей установленной версией приложения
  • Автоматическое добавление ссылки в консоли
  • Автоматический запуск приложения, включая модификацию classpath без необходимости перезапуска
  • Автоматическая интеграция и запуск веб-приложения в консольном экземпляре Jetty
  • Облегченное создание 'app stores', как для plugins.i2p.xyz
  • Удаление в один клик
  • Языковые пакеты и темы для консоли
  • Вывод детализированной информации от приложения в консоль маршрутизатора
  • Также поддерживаются не-Java приложения

Требуемая версия I2P

0.7.12 или новее.

Обновление плагина

Чтобы обновить плагин до последней версии, просто нажмите кнопку обновления в configclients.jsp. Также есть кнопка для проверки актуальности версии плагина, как и кнопка проверки наличия обновления для плагина. Проверка наличия обновлений для плагинов будет выполнена при обновлении I2P до нового релиза (за исключением тестовых сборок).

Разработка

See the latest plugin specification

Также смотри исходники плагинов, разработанных другими людьми. Некоторые плагины, такие как snowman, были разработаны специально в качестве примеров.

С чего начать

To create a plugin from an existing binary package you will need to get makeplugin.sh from the i2p.scripts repository in git.

Известные проблемы

Учтите, что архитектура плагинов маршрутизатора на данный момент НЕ предоставляет дополнительную изоляцию безопасности или запуск плагинов в песочнице.

  • Обновление плагина с jar-файлами (но не war) не будет распознано, если плагин уже запущен, т.к. для этого требуется, чтобы загрузчик классов сбросил кэш классов; необходим полный перезапуск маршрутизатора.
  • Кнопка остановки может отображаться, даже если останавливать нечего.
  • Плагины, запущенные в отдельном JVM, создают директорию logs/ в $CWD.
  • Нет никаких первоначальных ключей, за исключением ключей jrandom и zzz (используются те же ключи, что и для обновления маршрутизатора), так что первый ключ, доступный для подписания, автоматически принимается—авторизация подписывающих ключей отсутствует.
  • При удалении плагина директории не всегда удаляются, особенно в Windows.
  • При установке плагинов, требующих Java 1.6, на машине с Java 1.5 возникнет сообщение "plugin is corrupt", если используется pack200 сжатие плагина.
  • Темы и плагины переводов не тестируются.
  • Отключение автоматического запуска не всегда срабатывает.