From d23e05b431a393cda86ace09c1f5bedca9b7c683 Mon Sep 17 00:00:00 2001
From: zzz
Date: Fri, 3 Apr 2015 12:26:12 +0000
Subject: [PATCH] Embedding: Updates I2CP: Add proposal for additional SetDate
messages Ports: Reserve port 7668 for eepsite SSL
---
.../site/docs/applications/embedding.html | 32 +++++++++++++++++--
i2p2www/pages/site/docs/ports.html | 5 +--
i2p2www/pages/site/docs/spec/i2cp.html | 11 +++++--
3 files changed, 41 insertions(+), 7 deletions(-)
diff --git a/i2p2www/pages/site/docs/applications/embedding.html b/i2p2www/pages/site/docs/applications/embedding.html
index 2ccabad2..e4b6e8ea 100644
--- a/i2p2www/pages/site/docs/applications/embedding.html
+++ b/i2p2www/pages/site/docs/applications/embedding.html
@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Embedding I2P in your Application{% endtrans %}{% endblock %}
-{% block lastupdated %}{% trans %}November 2014{% endtrans %}{% endblock %}
-{% block accuratefor %}0.9.17{% endblock %}
+{% block lastupdated %}{% trans %}April 2015{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.19{% endblock %}
{% block content %}
{% trans %}Overview{% endtrans %}
@@ -227,6 +227,15 @@ We plan to migrate to Java 7 in 2015.
If you're building Debian / Ubuntu packages, you should require the I2P package from our PPA instead of bundling it.
You almost certainly do not need susimail, susidns, the router console, and i2psnark, for example.
{%- endtrans %}
+{% trans -%}
+The following files should be included in the I2P installation directory, specified with the "i2p.dir.base" property.
+Don't forget certificates/reseed and certificates/ssl, required for reseeding, and blocklist.txt for IP validation.
+The geoip directory is optional, but recommended so the router can make decisions based on location.
+The hosts.txt file may be necessary, you may modify it to include any hosts your application uses.
+You may add a router.config file to the base directory to override initial defaults.
+
{% trans -%}
+License requirements may require you to include the LICENSES.txt file and the licenses directory.
+{%- endtrans %}
@@ -298,9 +307,24 @@ import net.i2p.router.Router;
Properties p = new Properties();
// add your configuration settings, directories, etc.
+ // where to find the I2P installation files
+ p.addProperty("i2p.dir.base", baseDir);
+ // where to find the I2P data files
+ p.addProperty("i2p.dir.config", configDir);
+ // bandwidth limits in K bytes per second
+ p.addProperty("i2np.inboundKBytesPerSecond", "50");
+ p.addProperty("i2np.outboundKBytesPerSecond", "50");
+ p.addProperty("router.sharePercentage", "80");
p.addProperty("foo", "bar");
Router r = new Router(p);
+ // don't call exit() when the router stops
+ r.setKillVMOnEnd(false);
r.runRouter();
+
+ ...
+
+ r.shutdownGracefully();
+ // will shutdown in 11 minutes or less
{% trans -%}
@@ -310,6 +334,8 @@ together with Jetty webapps,
as is done in our Java packages.
As always, state management is the difficult part.
{%- endtrans %}
-
+
+See also: the Router javadocs.
+
{% endblock %}
diff --git a/i2p2www/pages/site/docs/ports.html b/i2p2www/pages/site/docs/ports.html
index 4c462dd2..514debab 100644
--- a/i2p2www/pages/site/docs/ports.html
+++ b/i2p2www/pages/site/docs/ports.html
@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Ports Used by I2P{% endtrans %}{% endblock %}
-{% block lastupdated %}{% trans %}May 2013{% endtrans %}{% endblock %}
-{% block accuratefor %}0.9.6{% endblock %}
+{% block lastupdated %}{% trans %}April 2015{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.19{% endblock %}
{% block content %}
{% trans -%}
@@ -51,6 +51,7 @@ in the 766x range.
7663 | ?? Plugin ?? |
7664 | JAMWiki Plugin |
| {% trans %}recommended spot for new plugins/applications{% endtrans %} |
+7668 | Eepsite SSL |
8118 | Privoxy (reserve) |
8123 | Tor Polipo (reserve) |
8887 | Old default network port |
diff --git a/i2p2www/pages/site/docs/spec/i2cp.html b/i2p2www/pages/site/docs/spec/i2cp.html
index 72b006b5..00f927d8 100644
--- a/i2p2www/pages/site/docs/spec/i2cp.html
+++ b/i2p2www/pages/site/docs/spec/i2cp.html
@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}I2CP Specification{% endblock %}
-{% block lastupdated %}October 2014{% endblock %}
-{% block accuratefor %}0.9.15{% endblock %}
+{% block lastupdated %}April 2015{% endblock %}
+{% block accuratefor %}0.9.19{% endblock %}
{% block content %}
Overview
@@ -154,6 +154,10 @@ A basic summary of the I2CP protocol versions is as follows. For details, see be
Version |
Required I2CP Features |
+
+ 0.9.20 |
+ Additional SetDate messages may be sent to the client at any time |
+
0.9.16 |
Authentication, if enabled, is required via GetDate before all other messages |
@@ -1369,6 +1373,7 @@ If created, the Session ID is the identifier to be used for the rest of the sess
The current date and time.
Sent from Router to Client as a part of the initial handshake.
+As of release 0.9.20, may also be sent at any time after the handshake to notify the client of a clock shift.
Contents
-
@@ -1383,6 +1388,8 @@ This is generally the first message sent by the router.
The version string is included as of release 0.8.7.
This is only useful if the client and router are not in the same JVM.
If it is not present, the router is version 0.8.6 or earlier.
+
+Additional SetDate messages will not be sent to clients in the same JVM.