2022-02-02 18:11:09 -05:00
|
|
|
ShellService Plugin Generator
|
|
|
|
=============================
|
2021-06-25 19:09:54 -04:00
|
|
|
|
2022-02-02 18:11:09 -05:00
|
|
|
Generates a valid ShellService plugin from a single script or executable. A
|
|
|
|
ShellService plugin is an application which runs as a process which is managed
|
|
|
|
by the I2P sofware. This allows I2P to manage the lifetime of a non-JVM
|
|
|
|
application by monitoring it. That way, plugins don't risk outliving the I2P
|
|
|
|
router because the router loses track of them.
|
2021-06-25 20:36:14 -04:00
|
|
|
|
2022-02-02 18:11:09 -05:00
|
|
|
A ShellService plugin should not "daemonize" itself or othewise fork itself to the
|
|
|
|
background. The I2P router will manage it as a "Client Application" and daemonizing
|
|
|
|
it will break this. If your process forks itself to the background by default, it
|
|
|
|
must have this feature disabled to work as a ShellService.
|
2021-06-25 20:36:14 -04:00
|
|
|
|
2022-02-02 18:11:09 -05:00
|
|
|
ShellService adds additional "arguments" to the applications in question,
|
|
|
|
which are used to configure the ShellService. In order to function correctly,
|
|
|
|
the ShellService must be named so that the name of the Plugin, i.e. `name` in
|
|
|
|
plugin.config, must match the `-shellservice.name` argument added by the
|
|
|
|
ShellService class. If it does not, the ShellService will be unable to look up
|
|
|
|
the plugin process. If the final elements of the ShellService name are `-$OS-$ARCH`
|
|
|
|
or `-$OS` they may be optionally omitted.
|
2021-06-25 20:36:14 -04:00
|
|
|
|
2021-06-25 22:07:59 -04:00
|
|
|
```markdown
|
2021-07-18 13:16:44 -04:00
|
|
|
Usage of i2p.plugin.native:
|
2021-06-25 19:09:54 -04:00
|
|
|
-author string
|
|
|
|
Author
|
|
|
|
-autostart
|
|
|
|
Start client automatically (default true)
|
|
|
|
-clientname string
|
|
|
|
Name of the client, defaults to same as plugin
|
|
|
|
-command string
|
2021-12-03 23:27:16 -05:00
|
|
|
Command to start client, defaults to $PLUGIN/lib/exename
|
2021-06-27 18:42:51 -04:00
|
|
|
-commandargs string
|
|
|
|
Pass arguments to command
|
2021-06-25 19:09:54 -04:00
|
|
|
-consoleicon string
|
|
|
|
Icon to use in console for Web Apps only. Use icondata for native apps.
|
|
|
|
-consolename string
|
|
|
|
Name to use in the router console sidebar
|
2021-11-06 20:49:21 -04:00
|
|
|
-consoleurl string
|
|
|
|
URL to use in the router console sidebar
|
2021-06-25 19:09:54 -04:00
|
|
|
-date string
|
|
|
|
Release Date
|
|
|
|
-delaystart string
|
2021-06-28 13:57:14 -04:00
|
|
|
Delay start of client by seconds (default "1")
|
2021-06-25 19:09:54 -04:00
|
|
|
-desc string
|
|
|
|
Plugin description
|
|
|
|
-exename string
|
|
|
|
Name of the executable the plugin will run, defaults to name
|
|
|
|
-icondata string
|
|
|
|
Path to icon for console, which i2p.plugin.native will automatically encode
|
|
|
|
-installonly
|
|
|
|
Only allow installing with this plugin, fail if a previous installation exists
|
|
|
|
-key string
|
|
|
|
Key to use(omit for su3)
|
|
|
|
-license string
|
|
|
|
License of the plugin
|
|
|
|
-max string
|
|
|
|
Maximum I2P version
|
|
|
|
-max-jetty string
|
|
|
|
Maximum Jetty version
|
|
|
|
-min string
|
|
|
|
Minimum I2P version
|
|
|
|
-min-java string
|
|
|
|
Minimum Java version
|
|
|
|
-min-jetty string
|
|
|
|
Minimum Jetty version
|
|
|
|
-name string
|
|
|
|
Name of the plugin
|
2021-12-04 00:04:57 -05:00
|
|
|
-noautosuffixwindows
|
|
|
|
Don't automatically add .exe to exename on Windows
|
2021-06-25 19:09:54 -04:00
|
|
|
-nostart
|
|
|
|
Don't automatically start the plugin after installing
|
|
|
|
-nostop
|
|
|
|
Disable stopping the plugin from the console
|
2021-12-03 23:27:16 -05:00
|
|
|
-pathcommand
|
|
|
|
Wrap a command found in the system $PATH, don't prefix the command with $PLUGIN/lib/
|
2021-06-25 19:09:54 -04:00
|
|
|
-res string
|
2021-06-25 20:31:37 -04:00
|
|
|
a directory of additional resources to include in the plugin
|
2021-06-25 19:09:54 -04:00
|
|
|
-restart
|
|
|
|
Require a router restart after installing or updating the plugin
|
|
|
|
-signer string
|
|
|
|
Signer of the plugin
|
|
|
|
-stopcommand string
|
|
|
|
Command to stop client, defaults to killall exename
|
2021-06-27 18:42:51 -04:00
|
|
|
-targetos string
|
2021-12-05 23:27:24 -05:00
|
|
|
Target to run the plugin on
|
2021-06-25 19:09:54 -04:00
|
|
|
-updateonly
|
|
|
|
Only allow updates with this plugin, fail if no previous installation exists
|
|
|
|
-updateurl string
|
|
|
|
The URL to retrieve updates from, defaults to website+pluginname.su3
|
|
|
|
-version string
|
|
|
|
Version of the plugin
|
|
|
|
-website string
|
|
|
|
The website of the plugin
|
|
|
|
```
|