let windows users install/remove the service through the /configservice.jsp page

This commit is contained in:
jrandom
2004-08-31 21:25:23 +00:00
committed by zzz
parent bbdf1a0b30
commit a0499451a5
3 changed files with 36 additions and 15 deletions

View File

@ -1,8 +1,9 @@
package net.i2p.router.web; package net.i2p.router.web;
import java.io.IOException;
import net.i2p.router.ClientTunnelSettings; import net.i2p.router.ClientTunnelSettings;
import net.i2p.router.Router; import net.i2p.router.Router;
import net.i2p.apps.systray.SysTray; import net.i2p.apps.systray.SysTray;
import org.tanukisoftware.wrapper.WrapperManager; import org.tanukisoftware.wrapper.WrapperManager;
@ -39,6 +40,10 @@ public class ConfigServiceHandler extends FormHandler {
} else if ("Hard restart".equals(_action)) { } else if ("Hard restart".equals(_action)) {
_context.router().shutdown(Router.EXIT_HARD_RESTART); _context.router().shutdown(Router.EXIT_HARD_RESTART);
addFormNotice("Hard restart requested"); addFormNotice("Hard restart requested");
} else if ("Run I2P on startup".equals(_action)) {
installService();
} else if ("Don't run I2P on startup".equals(_action)) {
uninstallService();
} else if ("Dump threads".equals(_action)) { } else if ("Dump threads".equals(_action)) {
try { try {
WrapperManager.requestThreadDump(); WrapperManager.requestThreadDump();
@ -74,4 +79,21 @@ public class ConfigServiceHandler extends FormHandler {
addFormNotice("Blah blah blah. whatever. I'm not going to " + _action); addFormNotice("Blah blah blah. whatever. I'm not going to " + _action);
} }
} }
private void installService() {
try {
Runtime.getRuntime().exec("install_i2p_service_winnt.bat");
addFormNotice("Service installed");
} catch (IOException ioe) {
addFormError("Warning: unable to install the service - " + ioe.getMessage());
}
}
private void uninstallService() {
try {
Runtime.getRuntime().exec("uninstall_i2p_service_winnt.bat");
addFormNotice("Service removed");
} catch (IOException ioe) {
addFormError("Warning: unable to remove the service - " + ioe.getMessage());
}
}
} }

View File

@ -39,18 +39,15 @@
If you are on windows, you can either enable or disable that icon here. <br /> If you are on windows, you can either enable or disable that icon here. <br />
<input type="submit" name="action" value="Show systray icon" /> <input type="submit" name="action" value="Show systray icon" />
<input type="submit" name="action" value="Hide systray icon" /> <input type="submit" name="action" value="Hide systray icon" />
<!-- <% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>
<h4>Run on startup</h4> <h4>Run on startup</h4>
On the windows platform, you can control whether I2P is run on startup or not by You can control whether I2P is run on startup or not by selecting one of the
selecting one of the following options - I2P will install (or remove) a service following options - I2P will install (or remove) a service accordingly. You can
accordingly. On *nix machines, you need root permissions to add a script also run the <code>install_i2p_service_winnt.bat</code> (or
to be run on startup (we hope you know better than to run I2P as root ;). To <code>uninstall_i2p_service_winnt.bat</code>) from the command line, if you prefer.<br />
have I2P run (or not run) at startup on *nix machines, please run
<code>install_i2p_service_unix</code> or <code>install_i2p_service_unix</code>
as root.<br />
<input type="submit" name="action" value="Run I2P on startup" /> <input type="submit" name="action" value="Run I2P on startup" />
<input type="submit" name="action" value="Don't run I2P on startup" /> <input type="submit" name="action" value="Don't run I2P on startup" />
--> <% } %>
<h4>Debugging</h4> <h4>Debugging</h4>
At times, it may be helpful to debug I2P by getting a thread dump. To do so, At times, it may be helpful to debug I2P by getting a thread dump. To do so,
please select the following option and review the thread dumped to please select the following option and review the thread dumped to

View File

@ -21,10 +21,12 @@ linked together).</p>
<p>With the I2P install we've bundled some scripts and code (from the cool folks at <p>With the I2P install we've bundled some scripts and code (from the cool folks at
<a href="http://wrapper.tanukisoftware.org/doc/english/">tanukisoftware</a>) to let you <a href="http://wrapper.tanukisoftware.org/doc/english/">tanukisoftware</a>) to let you
run I2P as a service on windows machines (a daemon, for you *nix geeks). To install it, run I2P as a service on windows machines (a daemon, for you *nix geeks). Windows users can
just run install_i2p_service_winnt.bat (or install_i2p_service_unix, as root). To uninstall add or remove the I2P service on the <a href="/configservice.jsp">service control page</a>, or
it, run uninstall_i2p_service_winnt.bat (or uninstall_i2p_service_unix, as root). To uninstall through the install_i2p_service_winnt.bat and uninstall_i2p_service_winnt.bat scripts. *nix
I2P altogether, simply wipe the I2P installation directory.</p> users can use the install_i2p_service_unix and uninstall_i2p_service_unix scripts included, but
they must be run as root. To uninstall I2P altogether, simply wipe the I2P installation
directory.</p>
<h2>What next?</h2> <h2>What next?</h2>