From ab08ac70aa8cab188237b5a7618799e148156fbd Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 13 Aug 2009 22:14:07 +0000 Subject: [PATCH] * I2PTunnel: - Make IRC Proxy non-shared, delayed-start, close-on-idle for new users, for the anonymity benefits (see "Shared Clients, Correlation and Collusion" http://zzz.i2p/topics/217 ) - Remove "experimental" flag on new client options * configclients.jsp: Add full path to config file * Add some path help in some config files --- apps/i2psnark/i2psnark.config | 5 +++++ apps/i2ptunnel/jsp/editClient.jsp | 4 ++-- apps/routerconsole/jsp/configclients.jsp | 6 +++-- installer/resources/clients.config | 6 +++++ installer/resources/i2ptunnel.config | 22 ++++++++++++++----- .../i2p/router/startup/ClientAppConfig.java | 15 ++++++++----- 6 files changed, 42 insertions(+), 16 deletions(-) diff --git a/apps/i2psnark/i2psnark.config b/apps/i2psnark/i2psnark.config index 7315d1b5f..525046ac6 100644 --- a/apps/i2psnark/i2psnark.config +++ b/apps/i2psnark/i2psnark.config @@ -1 +1,6 @@ +# +# If you have a 'split' directory installation, with configuration +# files in ~/.i2p (Linux) or %APPDATA%\I2P (Windows), be sure to +# edit the file in the configuration directory, NOT the install directory. +# i2psnark.dir=i2psnark diff --git a/apps/i2ptunnel/jsp/editClient.jsp b/apps/i2ptunnel/jsp/editClient.jsp index 26e40afad..1b3c1eb81 100644 --- a/apps/i2ptunnel/jsp/editClient.jsp +++ b/apps/i2ptunnel/jsp/editClient.jsp @@ -319,7 +319,7 @@
@@ -354,7 +354,7 @@
diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp index 8921987f4..d02126ec8 100644 --- a/apps/routerconsole/jsp/configclients.jsp +++ b/apps/routerconsole/jsp/configclients.jsp @@ -38,7 +38,9 @@ button span.hide{

- All changes require restart to take effect. To change other client options, edit the clients.config file. + To change other client options, edit the file +<%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext())%>. +All changes require restart to take effect.


@@ -57,7 +59,7 @@ button span.hide{

- All changes require restart to take effect. To change other webapp options, edit the webapps.config file. + All changes require restart to take effect.


diff --git a/installer/resources/clients.config b/installer/resources/clients.config index daa698908..88cc115f8 100644 --- a/installer/resources/clients.config +++ b/installer/resources/clients.config @@ -1,3 +1,9 @@ +# +# If you have a 'split' directory installation, with configuration +# files in ~/.i2p (Linux) or %APPDATA%\I2P (Windows), be sure to +# edit the file in the configuration directory, NOT the install directory. +# + # fire up the web console clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/ clientApp.0.main=net.i2p.router.web.RouterConsoleRunner diff --git a/installer/resources/i2ptunnel.config b/installer/resources/i2ptunnel.config index f1fe7cda2..db79ef5af 100644 --- a/installer/resources/i2ptunnel.config +++ b/installer/resources/i2ptunnel.config @@ -1,3 +1,9 @@ +# +# If you have a 'split' directory installation, with configuration +# files in ~/.i2p (Linux) or %APPDATA%\I2P (Windows), be sure to +# edit the file in the configuration directory, NOT the install directory. +# + # eepproxy tunnel.0.name=eepProxy tunnel.0.description=HTTP proxy for browsing eepsites and the web @@ -17,18 +23,22 @@ tunnel.0.option.i2p.streaming.connectDelay=1000 tunnel.0.startOnLoad=true # irc -tunnel.1.name=ircProxy -tunnel.1.description=IRC proxy to access the anonymous irc net +tunnel.1.name=IRC Proxy +tunnel.1.description=IRC proxy to access the anonymous IRC network tunnel.1.type=ircclient -tunnel.1.sharedClient=true +tunnel.1.sharedClient=false tunnel.1.interface=127.0.0.1 tunnel.1.listenPort=6668 tunnel.1.targetDestination=irc.postman.i2p,irc.freshcoffee.i2p tunnel.1.i2cpHost=127.0.0.1 tunnel.1.i2cpPort=7654 -tunnel.1.option.inbound.nickname=shared clients -tunnel.1.option.outbound.nickname=shared clients -tunnel.1.option.i2cp.reduceIdleTime=900000 +tunnel.1.option.inbound.nickname=IRC Proxy +tunnel.1.option.outbound.nickname=IRC Proxy +tunnel.1.option.i2cp.closeIdleTime=1200000 +tunnel.1.option.i2cp.closeOnIdle=true +tunnel.1.option.i2cp.delayOpen=true +tunnel.1.option.i2cp.newDestOnResume=false +tunnel.1.option.i2cp.reduceIdleTime=600000 tunnel.1.option.i2cp.reduceOnIdle=true tunnel.1.option.i2cp.reduceQuantity=1 tunnel.1.option.i2p.streaming.connectDelay=1000 diff --git a/router/java/src/net/i2p/router/startup/ClientAppConfig.java b/router/java/src/net/i2p/router/startup/ClientAppConfig.java index 70d61f346..dd30d662f 100644 --- a/router/java/src/net/i2p/router/startup/ClientAppConfig.java +++ b/router/java/src/net/i2p/router/startup/ClientAppConfig.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Properties; +import net.i2p.I2PAppContext; import net.i2p.data.DataHelper; import net.i2p.router.RouterContext; @@ -39,12 +40,17 @@ public class ClientAppConfig { disabled = dis; } - private static Properties getClientAppProps(RouterContext ctx) { - Properties rv = new Properties(); + public static File configFile(I2PAppContext ctx) { String clientConfigFile = ctx.getProperty(PROP_CLIENT_CONFIG_FILENAME, DEFAULT_CLIENT_CONFIG_FILENAME); File cfgFile = new File(clientConfigFile); if (!cfgFile.isAbsolute()) cfgFile = new File(ctx.getConfigDir(), clientConfigFile); + return cfgFile; + } + + private static Properties getClientAppProps(RouterContext ctx) { + Properties rv = new Properties(); + File cfgFile = configFile(ctx); // fall back to use router.config's clientApp.* lines if (!cfgFile.exists()) { @@ -94,10 +100,7 @@ public class ClientAppConfig { } public static void writeClientAppConfig(RouterContext ctx, List apps) { - String clientConfigFile = ctx.getProperty(PROP_CLIENT_CONFIG_FILENAME, DEFAULT_CLIENT_CONFIG_FILENAME); - File cfgFile = new File(clientConfigFile); - if (!cfgFile.isAbsolute()) - cfgFile = new File(ctx.getConfigDir(), clientConfigFile); + File cfgFile = configFile(ctx); FileOutputStream fos = null; try { fos = new FileOutputStream(cfgFile);