Skip to content
Zlatin Balevsky edited this page Dec 22, 2019 · 2 revisions

MuWire is available as a plugin to the Java I2P router. Building the plugin is disabled by default because it is more complicated than building the desktop application.

Follow these steps:

I. Build I2P

  1. Clone the I2P source code from I2P Github
  2. Build the source with ant clean pkg
  3. Create a directory under the MuWire source tree called i2pjars and copy all .jar files generated by the previous step there. You will find them in pkg-temp/lib

II. Generate plugin signing key

The plugin must be signed for the router to load it, and the signing certificate must be deployed:

  1. Generate a certificate by invoking the following command from the root of the MuWire source tree:
java -cp i2pjars/i2p.jar net.i2p.crypto.SU3File keygen <fileName.crt> keystore.ks <[email protected]>

The generator will ask you for a password for the newly generated certificate, and it will be stored in fileName.crt.

  1. Copy the keystore.ks file generated in the previous step to $HOME/.i2p-plugin-keys/plugin-su3-keystore.ks.

  2. Rename the certificate file the following way - if you gave [email protected] as email address in step 1 above, the certificate file should be called your_at_mail.com.crt.

  3. Copy the renamed certificate file to the installation of I2P, inside the certificates/plugin directory.

III. Build the plugin

Now you're ready to build the plugin.

  1. Un-comment the webui and plug sub-projects in the settings.gradle file.
  2. Edit gradle.properties to change the signer to the email address you generated the certificate for.
  3. Run ./gradlew -PbuildNumber=<some integer> assemble where "some integer" will be the minor build number.
  4. Just before it finishes, the build script will ask you for the password to unlock the certificate
  5. If all goes well, the plugin will be in plug/build/MuWire.su3

IV. Install the plugin

  1. Start the I2P router
  2. Go to the plugin installation page, that is usually http://127.0.0.1:7657/configplugins
  3. In the "Installation From File" section select the MuWire.su3 generated by the build system
  4. Click "Install Plugin From File"
  5. MuWire should appear on the left side of the console. It is also reachable via http://127.0.0.1:7657/MuWire
Clone this wiki locally