Opened 8 years ago

Closed 7 years ago

#429 closed enhancement (fixed)

[Feature Request] Easy way to install plugins that are on our local disk

Reported by: killyourtv Owned by: zzz
Priority: minor Milestone: 0.9
Component: apps/plugins Version: 0.8.4
Keywords: plugins Cc: killyourtv@…
Parent Tickets:

Description

It is possible to install addons for Firefox from the command line (see this Mozillazine post for the details). It would be very useful to have the same functionality of being able to install plugins that we have locally. What I have in mind is something like the following:

$ cat $I2P/i2p-plugin-installer
#!/bin/sh
I2P=/home/user/i2p
java -cp "$I2P/lib/i2p.jar" net.i2p.util.installplugin "$@"

It would be called as, for example

i2p-plugin-installer /path/to/i2pbote.xpi2p

If that idea above sucks:

Could we have the I2P router automatically install plugins that are found in a specific directory?

An example:

i2pbote.xpi2p is dropped into $I2P/incoming (or the like). The plugin is installed as if the URL was pasted into the plugin installation box at http://127.0.0.1:7657/configclients.

Subtickets

Change History (7)

comment:1 Changed 8 years ago by zzz

  • Component changed from router/general to apps/plugins

HungryHobo? has developed plugin .deb packages. Basically he just unzips to ~/.i2p/.plugins iirc.

An installer-shell-script would have to do a little more, including signature verification, checking for a newer version if an old one is present, and unpack200. http://www.i2p2.i2p/plugin_spec outlines the basic steps. Some scripts in the i2p.scripts mtn branch may be useful as starting points. Overwriting the jars for a running plugin will probably crash the router JVM though. Maybe that's an argument for an install directory instead.

A third alternative is to add code to accept a file name in the form on /configclients.jsp . Sponge was talking about doing that a while back, iirc. I never bothered because I thought it's only useful for plugin developers.

4th alternative - I'm not a fan of continuously scanning a directory for files. But maybe on startup only. I don't know how useful it would be.

5th alternative would be using the proposed admin interface. Mathiasdm is looking at that.

comment:2 Changed 7 years ago by zzz

  • Owner set to sponge
  • Status changed from new to assigned

comment:3 Changed 7 years ago by sponge

How about accepting 'file://' on the installer page?

comment:4 Changed 7 years ago by zzz

Well, that's an awkward UI IMHO. A standard browser select-file dialog would be a lot easier.

But all the work is in the back-end code to actually install it from a file. How exactly the UI works isn't that important.

comment:5 Changed 7 years ago by sponge

  • Milestone set to 0.8.14
  • Owner changed from sponge to zzz

Code accepts file:// now.

@zzz: If you want to accept a local disk file via the web console using a file UI, just do an input element with type="file". Tack on 'file://" and pass it to the regular download.
Assigning it to you now since the feature is there to be (ab)used. If you just want to leave it as-is, resolve as fixed.

comment:6 Changed 7 years ago by zzz

  • Milestone changed from 0.8.14 to 0.9

@sponge Why are you assigning it to me? What do you want me to do?

comment:7 Changed 7 years ago by zzz

  • Resolution set to fixed
  • Status changed from assigned to closed

Oh, you're saying if I want a browser dialog, I should do it. Nah, won't happen. Closing. @kytv if it's not to your liking as it is you can reopen it.

Note: See TracTickets for help on using tickets.