- Simplify config.jsp some more
- No longer use i2np.udp.forceIntroducers - Tweak UDP port qualification - Fix allowing low ports again - Add option to completely disable NTCP, for those behind nasty firewalls - Use SSU reachability rather than global reachability for determining NTCP reachability, since we are now reporting NTCP reachability too
This commit is contained in:
@ -163,7 +163,9 @@ public class ConfigNetHandler extends FormHandler {
|
||||
if (_ntcpAutoIP == null) _ntcpAutoIP = "true";
|
||||
|
||||
if ((!oldAutoHost.equals(_ntcpAutoIP)) || ! oldNHost.equalsIgnoreCase(_ntcpHostname)) {
|
||||
if ("false".equals(_ntcpAutoIP) && _ntcpHostname.length() > 0) {
|
||||
if ("disabled".equals(_ntcpAutoIP)) {
|
||||
addFormNotice("Disabling TCP completely");
|
||||
} else if ("false".equals(_ntcpAutoIP) && _ntcpHostname.length() > 0) {
|
||||
_context.router().setConfigSetting(ConfigNetHelper.PROP_I2NP_NTCP_HOSTNAME, _ntcpHostname);
|
||||
addFormNotice("Updating inbound TCP address to " + _ntcpHostname);
|
||||
} else {
|
||||
@ -174,6 +176,7 @@ public class ConfigNetHandler extends FormHandler {
|
||||
addFormNotice("Updating inbound TCP address to auto"); // true or always
|
||||
}
|
||||
_context.router().setConfigSetting(ConfigNetHelper.PROP_I2NP_NTCP_AUTO_IP, _ntcpAutoIP);
|
||||
_context.router().setConfigSetting(TransportManager.PROP_ENABLE_NTCP, "" + !"disabled".equals(_ntcpAutoIP));
|
||||
restartRequired = true;
|
||||
}
|
||||
if (oldAutoPort != _ntcpAutoPort || ! oldNPort.equals(_ntcpPort)) {
|
||||
|
@ -28,14 +28,10 @@ public class ConfigNetHelper extends HelperBase {
|
||||
}
|
||||
|
||||
public String getNtcphostname() {
|
||||
if (!TransportManager.enableNTCP(_context))
|
||||
return "\" disabled=\"true";
|
||||
return _context.getProperty(PROP_I2NP_NTCP_HOSTNAME, "");
|
||||
}
|
||||
|
||||
public String getNtcpport() {
|
||||
if (!TransportManager.enableNTCP(_context))
|
||||
return "\" disabled=\"true";
|
||||
return _context.getProperty(PROP_I2NP_NTCP_PORT, "");
|
||||
}
|
||||
|
||||
@ -91,8 +87,6 @@ public class ConfigNetHelper extends HelperBase {
|
||||
}
|
||||
|
||||
public String getTcpAutoPortChecked(int mode) {
|
||||
if (!TransportManager.enableNTCP(_context))
|
||||
return DISABLED;
|
||||
String port = _context.getProperty(PROP_I2NP_NTCP_PORT);
|
||||
boolean specified = port != null && port.length() > 0;
|
||||
if ((mode == 1 && specified) ||
|
||||
@ -102,17 +96,15 @@ public class ConfigNetHelper extends HelperBase {
|
||||
}
|
||||
|
||||
public String getTcpAutoIPChecked(int mode) {
|
||||
if (!TransportManager.enableNTCP(_context))
|
||||
return DISABLED;
|
||||
boolean enabled = TransportManager.enableNTCP(_context);
|
||||
String hostname = _context.getProperty(PROP_I2NP_NTCP_HOSTNAME);
|
||||
boolean specified = hostname != null && hostname.length() > 0;
|
||||
String auto = _context.getProperty(PROP_I2NP_NTCP_AUTO_IP);
|
||||
if (auto == null)
|
||||
auto = "false";
|
||||
if ((mode == 0 && (!specified) && auto.equals("false")) ||
|
||||
(mode == 1 && specified && auto.equals("false")) ||
|
||||
(mode == 2 && auto.equals("true")) ||
|
||||
(mode == 3 && auto.equals("always")))
|
||||
String auto = _context.getProperty(PROP_I2NP_NTCP_AUTO_IP, "false");
|
||||
if ((mode == 0 && (!specified) && auto.equals("false") && enabled) ||
|
||||
(mode == 1 && specified && auto.equals("false") && enabled) ||
|
||||
(mode == 2 && auto.equals("true") && enabled) ||
|
||||
(mode == 3 && auto.equals("always") && enabled) ||
|
||||
(mode == 4 && !enabled))
|
||||
return CHECKED;
|
||||
return "";
|
||||
}
|
||||
|
@ -111,15 +111,17 @@
|
||||
Hidden mode - do not publish IP<i>(not recommended; change restarts router)</i><br />
|
||||
</p><p>
|
||||
<b>UDP Configuration:</b><br />
|
||||
Internal UDP port:
|
||||
UDP port:
|
||||
<input name ="udpPort" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="configuredUdpPort" />" /><br />
|
||||
<!-- let's keep this simple...
|
||||
<input type="checkbox" name="requireIntroductions" value="true" <jsp:getProperty name="nethelper" property="requireIntroductionsChecked" /> />
|
||||
Require SSU introductions
|
||||
<i>(Enable if you cannot open your firewall)</i>
|
||||
</p><p>
|
||||
Current External UDP address: <i><jsp:getProperty name="nethelper" property="udpAddress" /></i><br />
|
||||
-->
|
||||
</p><p>
|
||||
<b>Inbound TCP Configuration:</b><br />
|
||||
<b>TCP Configuration:</b><br />
|
||||
Externally reachable hostname or IP address:<br />
|
||||
<input type="radio" name="ntcpAutoIP" value="true" <%=nethelper.getTcpAutoIPChecked(2) %> />
|
||||
Use auto-detected IP address
|
||||
@ -128,11 +130,12 @@
|
||||
<input type="radio" name="ntcpAutoIP" value="always" <%=nethelper.getTcpAutoIPChecked(3) %> />
|
||||
Always use auto-detected IP address (Not firewalled)<br />
|
||||
<input type="radio" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(0) %> />
|
||||
Disable (Firewalled)<br />
|
||||
Disable inbound (Firewalled)<br />
|
||||
<input type="radio" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(1) %> />
|
||||
Specify hostname or IP:
|
||||
<input name ="ntcphost" type="text" size="16" value="<jsp:getProperty name="nethelper" property="ntcphostname" />" />
|
||||
<br />
|
||||
<input name ="ntcphost" type="text" size="16" value="<jsp:getProperty name="nethelper" property="ntcphostname" />" /><br />
|
||||
<input type="radio" name="ntcpAutoIP" value="disabled" <%=nethelper.getTcpAutoIPChecked(4) %> />
|
||||
Completely disable <i>(select only if behind a firewall that throttles or blocks outbound TCP - restart required)</i><br />
|
||||
</p><p>
|
||||
Externally reachable TCP port:<br />
|
||||
<input type="radio" name="ntcpAutoPort" value="2" <%=nethelper.getTcpAutoPortChecked(2) %> />
|
||||
@ -152,9 +155,11 @@
|
||||
with "SSU introductions" - peers who will relay a request from someone you don't know to your
|
||||
router for your router so that you can make an outbound connection to them. I2P will use these
|
||||
introductions automatically if it detects that the port is not forwarded (as shown by
|
||||
the <i>Reachability: Firewalled</i> line), or you can manually require them here.
|
||||
the <i>Reachability: Firewalled</i> line).
|
||||
Users behind symmetric NATs, such as OpenBSD's pf, are not currently supported.</p>
|
||||
<!-- let's keep this simple...
|
||||
<input type="submit" name="recheckReachability" value="Check network reachability..." />
|
||||
-->
|
||||
<p>Hostnames entered here will be published in the network database.
|
||||
They are <b>not private</b>.
|
||||
Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1.
|
||||
|
Reference in New Issue
Block a user