propagate from branch 'i2p.www' (head 58b6b0589b4b5e4a45b1be2ac97bba8d253e9368)

to branch 'i2p.www.str4d' (head 2ab3bce2634e8d1dcbf7f2bf89c310c5ae3a7eb6)
This commit is contained in:
str4d
2016-03-05 17:38:12 +00:00
76 changed files with 5321 additions and 696 deletions

292
design/bg-sidebar.svg Normal file
View File

@ -0,0 +1,292 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="250"
height="460"
viewBox="0 0 250 460.00001"
id="svg3411"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="bg-sidebar.svg"
inkscape:export-filename="bg-sidebar.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3413" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="59.5"
inkscape:cy="228.5"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1366"
inkscape:window-height="719"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata3416">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-592.36214)">
<g
id="g4892">
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2965"
cx="221.73021"
cy="707.62994"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2969"
cx="197.54765"
cy="753.52283"
r="9.4642859" />
<circle
id="path2961"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="100.81744"
cy="753.52283"
r="9.4642859" />
<circle
id="path2979"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="197.54765"
cy="891.20135"
r="9.4642859" />
<circle
id="path2933"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="221.73021"
cy="615.84424"
r="9.4642859" />
<circle
id="path2941"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="221.73021"
cy="845.30853"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2917"
cx="173.3651"
cy="707.62994"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2949"
cx="197.54765"
cy="661.73712"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2953"
cx="149.18254"
cy="753.52283"
r="9.4642859" />
<circle
id="path2955"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="173.3651"
cy="937.09418"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2935"
cx="124.99998"
cy="937.09418"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2959"
cx="221.73021"
cy="982.98706"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2973"
cx="197.54765"
cy="799.41565"
r="9.4642859" />
<circle
id="path2975"
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="124.99998"
cy="1028.88"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#01ff01;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2977"
cx="173.3651"
cy="845.30853"
r="9.4642859" />
</g>
<g
id="g4841">
<circle
id="path2863"
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="28.269793"
cy="799.41565"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2873"
cx="100.81744"
cy="707.62994"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2881"
cx="52.452339"
cy="753.52283"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2865"
cx="28.269793"
cy="845.30853"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2891"
cx="76.634888"
cy="937.09418"
r="9.4642859" />
<circle
id="path2857"
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="28.269793"
cy="615.84424"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2877"
cx="76.634888"
cy="615.84424"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2869"
cx="52.452339"
cy="661.73712"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2861"
cx="100.81744"
cy="982.98706"
r="9.4642859" />
<circle
id="path2875"
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="52.452339"
cy="891.20135"
r="9.4642859" />
<circle
id="path2899"
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="28.269793"
cy="937.09418"
r="9.4642859" />
<circle
id="path2883"
style="display:inline;opacity:1;fill:#ff0101;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="52.452339"
cy="1028.88"
r="9.4642859" />
</g>
<g
id="g4865">
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2897"
cx="76.634888"
cy="799.41565"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2943"
cx="149.18254"
cy="982.98706"
r="9.4642859" />
<circle
id="path2923"
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="100.81744"
cy="891.20135"
r="9.4642859" />
<circle
id="path2909"
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="149.18254"
cy="615.84424"
r="9.4642859" />
<circle
id="path2901"
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="124.99998"
cy="661.73712"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2921"
cx="124.99998"
cy="799.41565"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2907"
cx="52.452339"
cy="982.98706"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2925"
cx="124.99998"
cy="845.30853"
r="9.4642859" />
<circle
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2947"
cx="52.452339"
cy="707.62994"
r="9.4642859" />
<circle
id="path2931"
style="display:inline;opacity:1;fill:#ebed02;fill-opacity:0.39215687;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="197.54765"
cy="1028.88"
r="9.4642859" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -22,7 +22,7 @@ except ImportError:
###########
# Constants
CURRENT_I2P_VERSION = '0.9.23'
CURRENT_I2P_VERSION = '0.9.24'
CANONICAL_DOMAIN = 'geti2p.net'

View File

@ -0,0 +1,129 @@
{% trans -%}
=========
CCC Recap
=========
{%- endtrans %}
.. meta::
:author: lazygravy
:date: 2016-01-23
:category: ccc
:excerpt: {% trans %}CCC!{% endtrans %}
{% trans -%}
Attending: Sadie, Colin, lazygravy, zzz, hottuna, kytv, cacapo, and eche|on.
{%- endtrans %}
{% trans -%}
Start
=====
The project has had another successful year at CCC.
We would like to thank the volunteers at `32C3`_ for all of their help in organizing this event and for being accommodating hosts for us.
Many I2P contributors were able to attend this year's Congress due to many of the generous donations from supporters like you to the project.
If you would like to fund I2P, please see `our donation page`_ for more information.
{%- endtrans %}
.. _{% trans %}`32C3`{% endtrans %}: https://events.ccc.de/congress/2015/wiki/Static:Main_Page
.. _{% trans %}`our donation page`{% endtrans %}: {{ site_url() }}get-involved/donate
{% trans -%}
Just like previous years we were located in Noisy Square, located near the EFF's table.
This proved to be an ideal spot for us as our table was almost always busy with current and new users who were interested in I2P, many of whom we wouldn't have otherwise had the ability to talk to.
{%- endtrans %}
{#
{% trans -%}
The Year of Usability
=====================
{%- endtrans %}
{% trans -%}
A common discussion point at the table was the usability of the router console, and how it can be better improved for all I2P users, with a specific focus on new users.
Many (both developers and users) have mentioned to us that their best experience with I2P was through `Vuze`_ and the `I2PBote Android app`_.
Currently there are vague discussions of redoing the current router console since it is difficult for many users to understand.
{%- endtrans %}
.. _{% trans %}`Vuze`{% endtrans %}: https://wiki.vuze.com/w/I2PHelper_HowTo
.. _{% trans %}`I2PBote Android app`{% endtrans %}: https://play.google.com/store/apps/details?id=i2p.bote.android
{% trans -%}
{%- endtrans %}
{% trans -%}
We need your feedback!
Even if you don't use I2P often, we want to know what you think.
Please `get in touch with us`_ and let us know what improvements or ideas you have!
{%- endtrans %}
.. _{% trans %}`get in touch with us`{% endtrans %}: {{ site_url() }}contact
#}
{% trans -%}
Reseed Status
=============
{%- endtrans %}
{% trans -%}
Let's get more reseeds!
{%- endtrans %}
{% trans -%}
If you don't know what a reseed server is, it is first the connection new routers use to find peers.
There was a lot of discussion around the current status of the reseed network right now.
As always, more reseed operators are needed!
If you would like to strengthen the reseed infrastructure, (or if you're talented with Go) email `backup -at- i2pmail.org`_.
{%- endtrans %}
.. _{% trans %}`backup -at- i2pmail.org`{% endtrans %}: mailto:backup -at- i2pmail.org?subject=How%20Do%20I%20Run%20a%20Reseed%20Node?
{% trans -%}
Sybil Detection (beta)
======================
{%- endtrans %}
{% trans -%}
Due to the decentralized nature of I2P detecting Sybil attacks is not as straight forward as on other networks (i.e. Tor).
To mitigate this zzz has been working on a new router-based Sybil detection tool.
To be brief, the tool runs in the router, and collects information on floodfills your router is currently aware of.
Currently the tool is mainly collecting a baseline and does not act on any of the information it is collecting.
Expect to see a writeup on this more as 0.9.25 or 0.9.26 approaches, as it is still in active development
{%- endtrans %}
{% trans -%}
Development Meeting
===================
{%- endtrans %}
{% trans -%}
On the 30th we held an in person `meeting`_ at our table.
The meeting focused on organizationally preparing for more project management, and public relations (both from Sadie).
{%- endtrans %}
.. _{% trans %}`meeting`{% endtrans %}: {{ site_url() }}meetings/241
{% trans -%}
We discussed how much of the work done on I2P is lost in the commits and there is not much to see for our users.
To remedy this lazygravy plans on preparing a series of posts explaining some technical topics in I2P.
The initial ideas that we discussed writing posts on are what encrypted lease sets are, why different tunnel types are needed, and some observations seen in `I2Spy`_.
But these are just the start and we would like to hear feedback on topics we should write about!
{%- endtrans %}
.. _{% trans %}`i2spy`{% endtrans %}: https://github.com/chris-barry/i2spy
{% trans -%}
Meeting (Future)
================
{%- endtrans %}
{% trans -%}
There will be a `another meeting`_ on 2 Feburary 2016 to discuss:
{%- endtrans %}
- {% trans -%}Review of assigned tasks from 30 December meeting{% endtrans %}
- {% trans -%}Project meeting plan for 2016{% endtrans %}
- {% trans -%}GMP 6 readiness{% endtrans %}
- {% trans -%}A proposal for a code of conduct{% endtrans %}
.. _{% trans %}`another meeting`{% endtrans %}: http://{{ i2pconv('zzz.i2p') }}/topics/2014-meeting-tues-feb-2-8-pm-utc

View File

@ -0,0 +1,113 @@
{% trans -%}
==============
0.9.24 Release
==============
{%- endtrans %}
.. meta::
:author: zzz
:date: 2016-01-27
:category: release
:excerpt: {% trans %}0.9.24 contains a variety of bug fixes and performance enhancements{% endtrans %}
{% trans -%}
Update details
==============
{%- endtrans %}
{% trans -%}
0.9.24 contains a new version of SAM (v3.2) and numerous bug fixes and efficiency improvements.
Note that this release is the first to require Java 7.
Please update to Java 7 or 8 as soon as possible.
Your router will not automatically update if you are using Java 6.
{%- endtrans %}
{% trans -%}
To prevent the problems caused by the ancient commons-logging library, we have removed it.
This will cause very old I2P-Bote plugins (0.2.10 and below, signed by HungryHobo) to crash if they have IMAP enabled.
The recommended fix is to replace your old I2P-Bote plugin with the current one signed by str4d.
For more details, see `this post`_.
{%- endtrans %}
.. _{% trans %}`this post`{% endtrans %}: http://bote.i2p/news/0.4.3
{% trans -%}
We had a great `32C3 Congress`_ and are making good progress on our 2016 project plans.
Echelon gave a talk on I2P's history and current status, and his slides are `available here`_ (pdf).
Str4d attended `Real World Crypto`_ and gave a talk on our crypto migration, his slides are `here`_ (pdf).
{%- endtrans %}
.. _{% trans %}`32C3 Congress`{% endtrans %}: {{ site_url() }}blog/post/2016/01/23/32C3
.. _{% trans %}`available here`{% endtrans %}: https://download.i2p2.de/media/ccc/2015/I2P_Still_alive.pdf
.. _{% trans %}`Real World Crypto`{% endtrans %}: http://www.realworldcrypto.com/rwc2016/program
.. _{% trans %}`here`{% endtrans %}: https://download.i2p2.de/media/rwc/2016/rwc2016-str4d-slides.pdf
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Java 7 now required{% endtrans %}
- {% trans %}SAM 3.2, with several new advanced features, command parser improvements, and lots of bug fixes{% endtrans %}
- {% trans %}Router Family{% endtrans %}
- {% trans %}Commons logging removed{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Fix HTML escaping in the console plugin table{% endtrans %}
- {% trans %}Fix rare deadlocks in the router{% endtrans %}
- {% trans %}Fix the tunnel build Bloom filter{% endtrans %}
- {% trans %}Don't remove tunnel on next-hop failure indication from transport, it isn't reliable{% endtrans %}
- {% trans %}Fix formatting in summary bar to prevent overflow{% endtrans %}
- {% trans %}Fix console links in i2ptunnel error pages when on nonstandard host/port{% endtrans %}
- {% trans %}Don't query floodfills whose version is too old to support encrypted replies{% endtrans %}
- {% trans %}Reduce out-of-order delivery in SSU{% endtrans %}
- {% trans %}Fix a rare NPE in the tunnel build handler{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Listen for Windows Service shutdown events to shutdown cleanly{% endtrans %}
- {% trans %}Fix some IPv6 issues on Windows{% endtrans %}
- {% trans %}Change Jetty request logging from b64 to b32{% endtrans %}
- {% trans %}New 'family' indication in netdb, don't use two of the same family in a tunnel{% endtrans %}
- {% trans %}New overview picture in SusiDNS{% endtrans %}
- {% trans %}Close connection faster if it's for a rejected tunnel request{% endtrans %}
- {% trans %}Use SSU extended options field for session request message{% endtrans %}
- {% trans %}Request introduction in the SSU extended options{% endtrans %}
- {% trans %}Don't offer to introduce unless requested, to introduce only those that need it{% endtrans %}
- {% trans %}Experimental Sybil analysis tool, requires routerconsole.advanced=true{% endtrans %}
- {% trans %}Persist some profile netdb stats that weren't being saved{% endtrans %}
- {% trans %}Memory reduction and other efficiency improvements throughout{% endtrans %}
- {% trans %}Increase several limits in i2psnark{% endtrans %}
- {% trans %}New streaming unit tests{% endtrans %}
- {% trans %}Fix some SSU stats on /peers to be consistent with NTCP{% endtrans %}
- {% trans %}Change default sig type for new i2ptunnels to Ed25519{% endtrans %}
- {% trans %}Increase router rekey probability at startup again{% endtrans %}
- {% trans %}New Chinese (Taiwan) translation{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
- {% trans %}Update GeoIP data (new installs and PPA only){% endtrans %}
`Full list of fixed bugs`_
.. _{% trans %}`Full list of fixed bugs`{% endtrans %}: http://trac.i2p2.de/query?resolution=fixed&milestone=0.9.24
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
40a9d162b218c3280170b5e6e5e0f459a2c5348c9488222955be5312144eade9 i2pinstall_0.9.24_windows.exe
f5a06c4ed7e3c22048eef18901b85baa1f9bed3e507c212700723701036e2bb3 i2pinstall_0.9.24.jar
134481ae5ef934a411545330d1b22e768189c424a65db47058db0f7d9cf51e7d i2psource_0.9.24.tar.bz2
b8ee5d9c88924f631ae03ffcbed4ac0b06542e51cdd144e20dbaad69a8fdcef4 i2pupdate_0.9.24.zip
6a3ddb8cb8d24a3b69d1138244c817852d0aa69a1603a3ed05f8368f01497394 i2pupdate.su3

View File

@ -668,7 +668,7 @@ class I2PHtmlFormatter(Formatter):
style = '; '.join(style)
yield 0, ('<div' + (self.cssclass and ' class="%s"' % self.cssclass)
+ (style and (' style="%s"' % style)) + '>')
+ (style and (' style="%s"' % style)) + ' dir=ltr>')
for tup in inner:
yield tup
yield 0, '</div>\n'

View File

@ -0,0 +1,256 @@
09:49:14 <zzz> 0) Hi
09:49:14 <zzz> 1) Meeting structure and goals
09:49:14 <zzz> 2) PR
09:49:14 <zzz> 3) Project Management
09:49:14 <zzz> 0) Hi
09:49:16 <zzz> Hi
09:49:30 <zzz> 1) Meeting structure and goals
09:49:30 <zzz> First of all I apologize for the horrendous time for this meeting for our North American folks.
09:49:30 <zzz> This will be a little different from our usual meeting structure because it's mostly in-person here at CCC.
09:49:31 <zzz> We will attempt to relay the highlights to IRC.
09:49:33 <zzz> We will also be taking notes here.
09:49:35 <zzz> Now let me give a preamble for this meeting.
09:49:49 <zzz> As you all should know, Sadie was a huge part of the organization and success of I2PCon in Toronto.
09:49:49 <zzz> We all saw her talent and enthusiasm in Toronto, and obviously she wants to do more for I2P going forward.
09:49:49 <zzz> As we got to work with her before and during the Con, we learned that she has extensive Project Management and PR experience,
09:49:49 <zzz> both with Tor and out in the real world.
09:49:49 <zzz> What I asked her to do after the Con was to get to know our project better, to understand our current structure and processes,
09:49:52 <zzz> and to come back with recommendations on what we could do better and how she could help us.
09:50:04 <zzz> Since then, she's had several long conference calls with tuna, me, str4d, psi, and others,
09:50:04 <zzz> and reviewed our website, trac, and current processes.
09:50:04 <zzz> Also, psi has named her Assistant PR Director and she is tweeting on the @GetI2P account and helping to get the word out about I2P.
09:50:06 <zzz> She is now ready to give us some recommendations.
09:50:06 <zzz> While my original question to her was "how can you help us?", the answer coming back is
09:50:06 <zzz> more like "here's the things we need to fix so I can effectively help",
09:50:08 <zzz> followed by the actual things she could do for us, or more precisely how we can all work together more effectively.
09:50:19 <zzz> What I'd like to do today is to hear her recommendations and discuss them each briefly.
09:50:19 <zzz> Many of these topics tend to spark long discussion and I'd like to contain that so we aren't here all day.
09:50:19 <zzz> For each recommendation, I'd like to get a commitment from one of you to follow up.
09:50:19 <zzz> If the recommendation is uncontroversial and we have consensus, that commitment would be to implement it.
09:50:20 <zzz> If it needs further research or we don't agree, that commitment would be to review our options and
09:50:21 <zzz> come up with a plan, or a counter proposal, or a list of options to be discussed at a future meeting.
09:50:23 <zzz> These commitments and due dates will be noted and tracked.
09:50:25 <zzz> I don't want to get bogged down on any one thing so I'll be looking for volunteers to follow up most things.
09:50:42 <zzz> I want to emphasize that I asked Sadie to do this and give us her opinion based on her previous experience.
09:50:42 <zzz> We may not agree but we should listen and carefully consider her recommendations.
09:50:42 <zzz> I2P is its own little snowflake and not everything may be appropriate for us,
09:50:42 <zzz> but she's gotten to know us pretty well this year, so let's hear what she's got.
09:50:43 <zzz> We will of course be able to take suggestions from others but I have a feeling that Sadie's got a lot of things covered already.
09:51:24 <zzz> We're going to first talk about PR and then Project Management.
09:51:24 <zzz> Both are very large topics and there will be overlap. But let's try to keep them as separated as we can.
09:51:54 <zzz> *** end of paste for topic 1), we will start in with 2) in a few minutes. thanks ***
09:58:39 <hottuna> str4d: heya we should have a talk about the DH stuff we're using
09:59:30 <str4d> hottuna, you referring to the NTCP and SSU handshakes?
09:59:55 <hottuna> i guess wherever DH is used
10:00:39 <hottuna> ok. lets talk about it after the meeting
10:00:47 <str4d> Sure
10:00:57 <str4d> According to http://trac.i2p2.i2p/wiki/Crypto/CurrentSpecs it's just NTCP and SSU
10:01:21 <hottuna> zzz will be reading the long note above to us now
10:01:48 <str4d> (I still need to update that page ahead of my talk)
10:04:10 <psi> i think i'm here
10:06:33 <lazygravy> psi: yes, zzz posted a long message just before you joined. talking IRL right now
10:07:57 <hottuna> So what we're looking to do is to get commitments from people to fix a bunch of different topics
10:08:25 <hottuna> Some of the stuff we're going to cover will be controversial and some not
10:08:47 <hottuna> the non-controversial topics we're hoping to just assign a to a person and have that handled
10:08:56 <hottuna> Onto Sadie and PR
10:09:16 <hottuna> gravy and sadie have been writing blogpost
10:09:29 <hottuna> and are looking for more content
10:10:21 <hottuna> a lot of content is lost in the commit messages
10:10:38 <hottuna> where the author of the commit does not really record the importance of the commit
10:11:24 <str4d> Rather than scanning commit messages, the best/easiest place to look is history.txt
10:11:30 <hottuna> ideally we would like to publish a blog post at least every 2 months to keep some sense of momentum is kept
10:12:08 <str4d> That still doesn't give an indication of importance, but is contextually easier to handle and sifts out the commit chaff that doesn't make it into history.txt
10:13:04 <lazygravy> str4d: the point is that there is so many cool things happening, and no way to find out without following i2p closely. it should be easier for people to see the cool stuff
10:13:47 <str4d> Perhaps what might help (this would be rather radical) could be to restructure history.txt to organize items by importance (major/minor/bugfix), more like a changelog (or have a parallel changelog file)
10:14:13 <str4d> since as-is, the history file is really just an easier-to-parse commit log
10:14:30 <str4d> That said, it *is* convenient, so maybe parallel info would be better (if harder to maintain)
10:14:38 * str4d stops getting bogged down in specifics
10:14:41 <str4d> :P
10:14:59 <hottuna> lazygravy could act as an editor and sort of delegate the responsibility of writing content when that is appropriate
10:15:14 <str4d> Certainly making it easier to know what is going on is a plus, and I think some of the higher-level organization topics will help this
10:15:33 <str4d> (ie. a blog post writer can look there for the high-level overview instead of the commit log)
10:15:56 <psi> sounds rather similar to pair programming
10:16:10 <hottuna> next topic within PR
10:16:29 <hottuna> regarding having a reseed campaign and attracting new developers
10:16:46 <psi> (or more like married couple programming, the programmer and the programmer's wife)
10:17:11 <lazygravy> str4d: i.e. WTF encrypted lease sets are, or a cool highlight of kytv's debian repo
10:17:15 <hottuna> we would like to involve torontocrypto to attract more reseed host s
10:17:23 <lazygravy> s/i.e./e.g./
10:17:24 <iRelay> lazygravy meant: str4d: e.g. WTF encrypted lease sets are, or a cool highlight of kytv's debian repo
10:18:25 <hottuna> We would like to generate a content package containing all info you would need to set up a reseed host should be available in one place
10:19:14 <hottuna> we need to articulate why reseeds are needed and important
10:19:18 <str4d> Mmm
10:19:42 <str4d> It could even be made as simple as "sudo apt-get i2p-reseed"
10:20:22 <lazygravy> str4d++
10:20:23 <kytv> I was thinking of making docker images so it can be completely plug-n-play:ed
10:20:47 <psi> the go reseed was excessively easy to set up and use
10:20:56 <hottuna> hottuna/I volunteered to write a few paragraphs about why reseeds are needed and what they do
10:21:07 <hottuna> kytv: that would be amazing
10:21:23 <str4d> kytv++
10:21:35 <str4d> Drop-and-go is the ideal
10:22:00 <str4d> Kinda like what was mentioned in one of the Tor talks yesterday, about how people could in future get a LetsEncrypt cert that comes with a free .onion
10:22:16 <str4d> (ie. the letsencrypt script sets up the Tor HS for the user)
10:22:38 <kytv> mdrollete's i2p-tools is available as a docker image, so maybe we (=I) could just polish up my I2P docker image (not yet advertised) so one could do it all by copy'n'pasting one command line and reseeding would "just work"
10:22:41 <hottuna> about developed onboarding, making the source code more accessible
10:22:42 <str4d> (that in itself would be super neat for I2P, but slightly different from what we need here)
10:22:55 <comraden1> kytv: docker for sure
10:23:01 <hottuna> str4d: could I convince you to add some links to the source code from geti2p.net?
10:23:04 <str4d> If reseeds are an appliance, it also makes it much easier to keep honest reseeds in sync
10:23:17 <str4d> hottuna, where?
10:23:18 <lazygravy> thought: we should get rid of the note from 0.7.6 on the download page
10:23:33 <kytv> (I'm more of an lxc guy but I'm learning docker so whatevs ☺)
10:23:45 <kytv> ja
10:23:50 <lazygravy> kytv: docker seems "so hot" right now, so it might be best
10:23:54 <hottuna> wherever it makes sense
10:24:08 <str4d> I believe there is at least one link to kytv's ViewMTN, but that's inside I2P
10:24:11 <hottuna> but the idea is to make it easier to get a quick look at the soruce code
10:24:13 <kytv> Move all docs for ancient stuff to /attic or smth related
10:24:19 <hottuna> to attract developers
10:24:33 <hottuna> str4d outside i2p and ideally from geti2p.net is what we would want
10:24:36 <str4d> I could add links to the new devs page to the Github page, but they would need to be clearly marked as read-only
10:24:50 <psi> if you really want to attract devs we should make the github alive more
10:24:52 <hottuna> yeah.
10:25:57 <str4d> Is the new dev page where you want the links?
10:25:57 <hottuna> that sounds like a simple straight forward step to take
10:25:57 <hottuna> just add a read-only link to github
10:25:57 <str4d> hottuna, which? Links, or github alive more?
10:25:57 <hottuna> would be an improvement
10:25:57 <str4d> ahk
10:26:05 <hottuna> str4d: can I write your name next to that?
10:26:24 <hottuna> that item that is
10:26:38 <str4d> Sure. I assume all of these will get issues created on Trac
10:26:51 <hottuna> not sure if they will.
10:26:57 <hottuna> will ask zzz
10:27:09 <str4d> Well yeah, probably not worth it for the smaller tasks
10:27:20 <str4d> As long as I get the list sometime :P
10:27:26 <hottuna> ok
10:27:36 <hottuna> i think zzz will do a zzz.i2p writeup
10:28:22 <kytv> it'll almost certainly go to zzz.i2p but perhaps also as tickets on Trac
10:28:41 <str4d> k
10:28:50 * str4d pulls up todo list to start adding items
10:32:43 <hottuna> we're talking about which usecasdes we should promote i2p for
10:33:13 <hottuna> and the consesus seems to be that we should promote usecases which we are good at. like bote
10:33:20 <str4d> Mmm
10:33:29 <str4d> We definitely need to push the peer-to-peer aspect
10:33:36 <hottuna> like torrents to potintiall
10:33:38 <hottuna> y
10:33:57 <hottuna> we would like to highlight these good uses on the main page
10:34:12 <hottuna> *what we would like to highlight
10:34:20 <str4d> That's something I2P should have a fundamental advantage with, due to the packet-switched nature and tunnel-level symmetry
10:34:33 <hottuna> yes. and there are other things we are good at
10:34:39 <str4d> And particularly apps that themselves inherently encourage contribution
10:34:41 <hottuna> and those things we should promote
10:35:05 <hottuna> and in the meantime we can keep on working on the things that we are not quite as good at
10:35:09 <str4d> (because I2P's need for contribution can then piggyback on the app's)
10:35:43 <hottuna> lazygravy, str4d, cacapo: could you work through the 3 best usecases for i2p
10:36:01 <hottuna> so that we then can present them properly on the frontpage
10:36:18 <str4d> Sure
10:37:03 <cacapo> yepp
10:37:08 <hottuna> when can you guys come back with something (recommendations or webstie changes)?
10:37:43 <hottuna> is a deadline for end of january ok?
10:37:55 <cacapo> ok
10:38:01 <hottuna> realting to PR: i2p.net becomes available soon
10:38:03 <str4d> Fine with me
10:39:04 <eche|on> 16.4.2016 it is for i2p,net
10:39:11 <str4d> I can say right now that if we are meaning "things that work well right now", you're really looking only at high-latency email (bote) and torrents. Soon we can add distributed datastorage too (once Tahoe gets native I2P client support)
10:39:24 * str4d is looking forward to i2p.net being recovered
10:39:33 <eche|on> tahoe will only be useable with parallel up/download
10:40:08 <str4d> I think it would be ideal to dovetail it with my proposal for dev services on i2p.i2p, have them parallel available in- and out-of-net
10:40:12 <hottuna> cacapo mentions i2p does not communicate a narrative about the project very well. or at all.
10:40:29 <lazygravy> str4d: tahoe has it's own UI problems... :/ (tho I adore it)
10:40:29 <hottuna> unlike to which has a lot of history and contextual history to it
10:41:03 <str4d> hottuna, what narrative does he mean?
10:41:09 <hottuna> relating to jake/snowden&/etc
10:41:42 <str4d> ah, narrative relating I2P history to world context?
10:41:43 <hottuna> comraden1: volunteers to do a writeup of the history of i2p
10:41:52 <str4d> (like the Tor HS talk did?)
10:42:05 <eche|on> history: zzz talk on i2pcon, my talk on 32c3
10:42:06 <hottuna> (didnt see that)
10:42:33 <str4d> also my talk at I2PCon had a bit
10:42:37 <hottuna> zzz, comraden1, lazygravy volunteered to do the actual writeup
10:42:41 <hottuna> psi: around?
10:42:53 <psi> yes
10:42:57 <hottuna> str4d: and so did Lance James' bit
10:43:34 <str4d> lazygravy, Tahoe UX should improve greatly once magic folders is released. UI-wise, still has work to do, but not as much as us :P
10:43:52 <hottuna> str4d, sadie, could the both of you help eachother out to do promo for the RWC talk?
10:44:03 <hottuna> Öast call for PR related topics
10:44:06 <hottuna> Lest*
10:44:08 <hottuna> last*
10:44:49 <hottuna> alright, i'll take that as silence
10:44:50 <str4d> hottuna, yep, I'll keep in touch with Sadie
10:44:56 * str4d still has to prepare that talk :/
10:45:04 <hottuna> Onto the next topic. PROJECT MANAGEMENT
10:45:34 <comraden1> str4d: also "history of how i2p started". I'm thinking of navy researching onion routing -> second generation onion router -> tor
10:46:40 <str4d> comraden1, mmm, you'll probably find a lot of that in the early I2P meeting logs on the website
10:47:15 <str4d> If you do go rooting around in there, feel free to write quick summaries of the meetings that I can add to them :P
10:48:11 <comraden1> str4d: zzz mentioned that he has a lot of it in his head and wanted to write a rough draft. I'm going to edit and make sure it is perfect before we release it
10:48:45 <str4d> +1
10:49:19 <dg> I remember speaking about it with zzz ages ago; if he has logs of that, it might be helpful
10:49:22 <hottuna> we're talking about what the actual goals of the project are
10:49:54 <hottuna> and that they are important to have written down somewhere in order to be able to do meaningful project management
10:50:29 <str4d> Would make for a good about page
10:51:16 <str4d> I've wanted to merge the various intro pages, but we could actually leverage them separately
10:51:36 <str4d> Turn https://geti2p.net/en/about/intro into a brief overview of I2P, both the network and the project
10:51:38 <iRelay> Title: Intro - I2P (at geti2p.net)
10:51:59 <str4d> Then make https://geti2p.net/en/docs/how/intro the *actual* "how does I2P work" page
10:52:00 <iRelay> Title: A Gentle Introduction to How I2P Works - I2P (at geti2p.net)
10:52:10 <str4d> Kinda sorta what they appear to be now, but properly split
10:53:12 <dg> hottuna: Where can I find the blogposts?
10:53:22 <dg> hottuna: I can only see one (http://i2p-projekt.i2p/en/blog/post/2015/11/15/Community-Outreach)
10:53:25 <iRelay> Title: Community Outreach - Blog - I2P (at i2p-projekt.i2p)
10:54:38 <lazygravy> dg: they don't exist aside from that
10:54:55 <lazygravy> and that was mostly a POC IMO. Next one should be published on 10Jan2016 on CCC
10:58:32 <hottuna> we're talking about whether we want to be managed
10:58:46 <hottuna> dg, str4d, psi: do you have any thoughts about having your work managed?
10:59:11 <psi> by who and how much management?
10:59:17 <hottuna> by sadie
10:59:26 <dg> open to it
10:59:42 <hottuna> and having it be relaxed as in deadlines. but not enforced deadlines
10:59:46 <hottuna> things are done when they are done
11:00:11 <hottuna> but mentally attaching a deadline to them might be a helpful tool
11:00:11 <dg> done when they're done but a bit of pushing/motivation
11:00:40 <psi> no thoughts until i eat breakfast
11:00:47 <hottuna> or at the very least knowing that someone else knows that a given task is on your pile
11:01:15 <hottuna> re project management: we'd like to get weekly/bi-weekly meetings up and runnning again
11:01:25 <hottuna> zzz has the goal of starting them up in february agin
11:01:27 <hottuna> again*
11:01:36 <hottuna> and then gradually handing them off to sadie
11:01:48 <hottuna> for that to happen sadie needs got on irc
11:01:56 <str4d> I'm good for it. I do tend to work better when I have someone(s) to bounce ideas off
11:03:23 <hottuna> zzz just committed to having a single roadmap written up by the end of february
11:03:23 <hottuna> splendid.
11:03:23 <hottuna> the consensus seems to be that being managed lightly is probably a good thing.
11:03:23 <hottuna> but anything heavy-handed would just turn this into work
11:03:23 <str4d> Sounds good. We can always adjust the level later once we have some experience with it.
11:03:23 * dg nods
11:03:23 <hottuna> *roadmap will be for end of jan, not feb
11:03:23 <hottuna> str4d: agreed
11:04:35 <str4d> FYI zzz, sadie and I will be meeting up at the beginning of March, would be good to keep that in mind re: things we can work on/discuss then.
11:05:52 <hottuna> re: trac tickets, sadie is volunteering to keep an eye on it and relay tickets to the right individual
11:06:05 <dg> Being able to observe our mechanics like trac/zzz.i2p/irc is important for Sadie to fully understand how we work anyway
11:06:16 <dg> Has she been able to do that w/o IRC access?
11:07:04 <hottuna> str4d: would you bi willing to help sadie out in that endeavour?
11:07:40 <str4d> I've had on my todo list for a while a weekly "look over new tickets" item, that I keep postponing because too much on
11:08:06 <str4d> But from next year, I'll endeavour to help sadie with that :)
11:08:49 <str4d> You may have noticed there's an "open" status now for tickets. I added that so we can differentiate between new tickets and ones we've seen but haven't had an opinion on necessarily
11:08:53 <hottuna> Last call for PROJECT MANAGEMENT topics
11:09:10 <dg> hottuna: see above
11:09:25 <str4d> My goal would be to have as few "new" tickets as possible, ie. moving them either to a relevant person/status, or "open" to at least acknowledge them as a valid ticket.
11:09:36 <hottuna> Last call for OTHER topics
11:09:48 <hottuna> dg: getting sadie on trac is key. and a requirement
11:10:00 <hottuna> I mean on IRC
11:10:17 <dg> okay
11:10:23 <str4d> I've had an IRC bouncer account for her for a while now
11:10:42 <hottuna> str4d: could we ask you to write up few items about what you learned about vulnerability response the the conf?
11:10:48 <str4d> All she needs is help getting her side connected, and she can then keep logs etc. without needing to stay connected all the time
11:11:40 <str4d> hottuna, you mean from talking to k8em0 at Kiwicon?
11:11:47 <hottuna> mhm
11:11:47 <dg> Also help with browser config/privoxy?
11:12:13 <str4d> I didn't learn a lot more than I already kinda knew, other than hearing in advance about the bug bounty program that Tor just announced
11:12:26 <zzz> we're proposing that we defer the VRP discussion to january
11:12:36 <hottuna> str4d: would making a tiny writeup make sense?
11:12:40 <str4d> k8em0 did say she was very impressed with our VRP ticket
11:12:45 <hottuna> like a zzz.i2p post?
11:12:55 <hottuna> or was it all kind of useless?
11:13:15 <str4d> Not useless, more confirming that our VRP ticket is on the right track
11:13:31 * zzz ******BAFFFFS***** the meeting closed, thanks everybody

View File

@ -0,0 +1,18 @@
I2P dev meeting, December 30, 2015 @ 10:00 UTC
==============================================
Quick recap
-----------
* **Present:**
cacapo,
comraden1,
dg,
eche\|on,
hottuna,
kytv,
lazygravy,
psi,
str4d,
zzz,

View File

@ -0,0 +1,407 @@
20:00:00 <zzz> Agenda http://zzz.i2p/topics/2014
20:00:00 <zzz> 0) Hi
20:00:00 <zzz> 1) Review of assigned tasks from Dec. 30 meeting - http://zzz.i2p/topics/2016 (zzz)
20:00:00 <zzz> 2) Other CCC followup - http://zzz.i2p/topics/2019 (zzz)
20:00:00 <zzz> 3) Project meeting plan for 2016 (zzz, Sadie)
20:00:00 <zzz> 4) GMP 6 readiness for merging - http://zzz.i2p/topics/1960 (tuna)
20:00:00 <zzz> 5) http://secure.tinhat.i2p console home page request - http://zzz.i2p/topics/236?page=3#p10884 (david)
20:00:00 <zzz> 6) Proposal for Code of Conduct - http://zzz.i2p/topics/2015 (Sadie)
20:00:02 <lazygravy> There is a link to it in the ccc blog post
20:00:05 <zzz> 0) Hi
20:00:09 <zzz> hi
20:00:19 <EinMByte> hi
20:00:21 <psi> hi
20:00:25 <lazygravy> Hello
20:00:32 <cacapo> hi
20:00:33 <sadie_i21> hi
20:00:37 <zzz> 1) Review of assigned tasks from Dec. 30 meeting - http://zzz.i2p/topics/2016 (zzz)
20:00:44 <Irc2PGuest76545> Hey
20:00:48 <zzz> ok, let's quickly go through the open items only
20:00:49 <anonimal> Hi
20:00:50 <Hummingbird> hi
20:00:55 <z3r0fox> Hi
20:01:03 <zzz> gravy to post one on encrypted leasesets by Jan. 27
20:01:11 <zzz> lazygravy, what's the status?
20:01:34 <orignal> hi
20:01:37 <lazygravy> zzz: very late on that. But it is "started". I still plan on writing it
20:01:38 <zab__> hi
20:01:44 <trolly> hi
20:01:50 <lazygravy> Might change the topic , but my point stands
20:01:51 <zzz> lazygravy, what's the new target date?
20:02:27 <Irc2PGuest39432> oops
20:02:28 <Irc2PGuest39432> hi
20:02:37 <lazygravy> zzz: president's day weekend?
20:02:52 <zzz> got a date for that?
20:03:10 <lazygravy> 15 Feb
20:03:14 <zzz> ok thanks
20:03:17 <zzz> Sadie to work with J to get his blog post up
20:03:32 <zzz> sadie_i21,status?
20:03:42 <sadie_i21> mid feb
20:03:55 <supervillain> vodka anyone?
20:04:02 <zzz> Sadie to contact backup to discuss reseed campaign
20:04:05 <zzz> sadie_i21,status?
20:04:12 <Irc2PGuest76545> hi
20:04:27 <sadie_i21> not yet
20:04:39 <zzz> new due date please?
20:06:09 <zzz> ok, we'll move on, sadie please let me know
20:06:10 <sadie_i21> mid feb for this too
20:06:10 <Irc2PGuest95462> hi
20:06:13 <zzz> Strengthinging the network - home page and additional pages
20:06:13 <zzz> ** str4d, gravy, cacapo: Add use cases, what are we best at, more "passion" and "fat", add / highlight Bote, by end of January
20:06:17 <zzz> ok thx sadie
20:06:31 <zzz> str4d, lazygravy, cacapo, status?
20:07:08 <cacapo> we're working on it but need feedback from community i think
20:07:16 <str4d> hi
20:07:16 <lazygravy> cacapo++
20:07:22 <Irc2PGuest76545> hallo
20:07:40 <zzz> new due date please?
20:08:42 <cacapo> also I don't think we're clear on the end purpose. Is it for a blog post?
20:08:50 <hottuna> cacapo: if you need me to read through it again, please ping me
20:08:50 <cacapo> march 1st
20:09:07 <EinMByte> please also try to target researchers, not just end-users
20:09:07 <str4d> The scope AFAICT is to alter the homepage and the "supported applications" page, no?
20:09:18 <zzz> iirc the intention was to enhance the home page and possibly add additional pages. Not a blog post
20:09:33 <zzz> sadie_i21, could you elaborate please?
20:09:34 <EinMByte> Ok, nvm in that case
20:09:38 <str4d> Right
20:09:47 <cacapo> so it's the supo
20:09:59 <cacapo> supported applications page then?
20:10:26 <zzz> iirc the priority was the home page. If it spilled over to other pages (new or not), that's ok too
20:10:55 <cacapo> also: do we talk about torrents for PR?
20:11:06 <zzz> unless sadie has something to add, let's move on
20:11:22 <zzz> we can discuss torrents or not outside the meeting
20:11:37 <sadie_i21> nope
20:11:38 <str4d> sadie_i21, the Simply Secure design thoughts are probably relevant here too.
20:11:39 <str4d> If they have any immediate thoughts regarding the homepage, that will affect how the use cases stuff is written up and presented/
20:12:00 <zzz> comraden to edit / polish / enhance / post the "i2p story" by end of February
20:12:06 <sadie_i21> sorry zzz, on a call...
20:12:09 <zzz> comraden1, you on track for that?
20:12:13 <str4d> cacapo, I say yes, highlighting benefits of torrents (e.g. downloading new versions of Tails!)
20:12:17 <psi> sadie_i21: do you have the press@geti2p.net spam firehose forwarding at your email yet?
20:12:42 <zzz> psi, please take that offline with sadie
20:12:45 <sadie_i21> no, not yet
20:12:50 <psi> kk
20:13:09 <zzz> ok, we will assume comraden1 is on track
20:13:17 <zzz> broader roadmap and priority setting processes are TBD, but should come out of the evolving project meetings
20:13:26 <comraden1> zzz: haven't read the post you put up yet, as I mentioned to you earlier I had an emergency I had to attend to
20:13:50 <zzz> that item is mine and sadie's, let's defer that to item 3)
20:13:52 <comraden1> I will be looking at the history sometime this week and will reach back out with corrections to you & lance
20:14:05 <zzz> comraden1, are you on track for end february?
20:14:26 <str4d> zzz, the draft is certainly interesting :)
20:14:31 <str4d> cacapo, regarding how it appears on the website, I think it would work well having it interspersed with year headers (breaking it into "chapters" as it were). Also would mean we could navigate through it by year.
20:14:34 <comraden1> zzz: so far, yes :)
20:14:45 <zzz> sadie to review, make recommendations or possibly start managing tickets (by when?)
20:14:55 <zzz> sadie_i21, status? due date?
20:15:55 <zzz> ok we'll assume she's still on a call, please get back to us
20:16:05 <zzz> 4) Android -
20:16:05 <zzz> kinda like 1) in that it's code and tied to the java router, but like 3) in that it's ad hoc or a one-man show by str4d, and he's behind.
20:16:13 <str4d> DM from @YrB1rd: "There. Are. So. Many."
20:16:24 <str4d> (a few days ago, but you get the idea ;P)
20:16:57 <zzz> this wasn't really a todo item, but str4d you have any proposal on how to manage android development, or can we give you and/or sadie a more specific assignment on this?
20:17:09 <str4d> Yah, basically everything that had me as a primary dependency was completely shot for the last 4-5 months.
20:17:36 <zzz> can you give us a target for a 0.9.24 release, and perhaps another target to come up with a plan on how to manage android better?
20:17:39 <str4d> Because I've been writing my PhD thesis.
20:18:08 <str4d> Targeting submission at the end of this week, so that will be out of the way, but I will also be taking on paid work after then.
20:18:23 <zzz> feb. 5, great
20:18:33 <str4d> 0.9.24: going to aim for this weekend.
20:18:38 <sadie_i21> zzz - can we circle back to ticket question - I am only half here rn
20:18:56 <zzz> circle back now or circle back later?
20:19:16 <sadie_i21> later
20:19:22 <str4d> Beyond that: what I need is a better roadmap, so I can do slow targeted development instead of "oh, another I2P release is coming up, I need to clear some Android work so I can do a release".
20:19:23 <zzz> ok, end weekend is feb. 7 for 0.9.24
20:19:48 <zzz> ok str4d, due date when you'll have a roadmap?
20:20:42 <zzz> anything else on item 1) ?
20:20:50 <str4d> I have a bunch of to-do items locally, in-repo and in-Trac. What I need is more eyes on planning.
20:21:30 <zzz> so you can't even give us a date, that's a bad sign. Can you throw up a draft roadmap out of your todo list?
20:21:34 <str4d> zzz, I'd say March 6, I can draft something up earlier but I expect we will end up doing roadmapping on that along with everything else while I'm over.
20:21:40 <zzz> ok, march 6
20:21:44 <zzz> last call for 1)
20:21:57 <zzz> 2) Other CCC followup - http://zzz.i2p/topics/2019 (zzz)
20:22:13 <zzz> I put 2) in here just as a placeholder in case there were other important followups
20:22:18 <str4d> I'll target Feb 26 for collating all the todo items and possibly drafting a roadmap.
20:22:26 <zzz> I've been corresponding with Phillip Winter about Sybil
20:22:39 <zzz> anybody else have interesting followups to report?
20:23:02 <eche|on> nothing from my side
20:23:25 <zzz> ok, I encourage you all to send some emails out or do the research you wanted to do, it's not too late
20:23:26 <anonimal> Were we going to cover VRP this meeting?
20:23:26 <eche|on> finances will be updated this weekend IMHO
20:23:44 <zzz> VRP is not on the agenda, if we have time we can add it as 7)
20:23:49 <zzz> last call for 2)
20:23:58 <JIa3apb_KaraHoBu4> Dear zzz ! I am very grateful to you for the creation of this network because I have met wonderful people here and find rare content, for which our country is suspended for the genitals an apple tree. Long old are you!
20:23:58 <C0B4> I'm sorry, who checked the safety 0.9.24
20:24:11 <str4d> I have a few people I need to follow up with from RWC
20:24:13 <str4d> (shoehorning that into 2))
20:24:31 <zzz> 3) Project meeting plan for 2016 (zzz, Sadie)
20:24:44 <lazygravy> While shoehorning, I need to talk to you about i2spy str4d. But that is for later/offline
20:24:57 <zzz> ok, just a brief item. We decided at the Dec. 30 meeting to get more serious about project management
20:25:03 <zzz> to hold monthly meetings
20:25:14 <zzz> and to have somebody act as a project manager
20:25:37 <zzz> so this is the first monthly meeting, and they will be the first tuesday of every month at 8 PM UTC
20:25:56 <zzz> except for next month, which will be on Thurs. Mar. 7
20:26:26 <zzz> the goal is for me to run these meetings for a little while, but after a few, to turn them over to Sadie and have her be our project manager
20:26:34 <zzz> sound good? any comments?
20:26:39 <lazygravy> Seems reasonable. Hopefully it will keep us all accountable.
20:26:59 <comraden1> La
20:27:03 <comraden1> lazygravy++
20:27:04 <anonimal> Will sadie_i21 be on IRC more often?
20:27:15 <xcps> C0B4, good point!
20:27:15 <lazygravy> anonimal++
20:27:22 <sadie_i21> okee dokee
20:27:33 <str4d> Sounds good to me
20:27:42 <zzz> that's a good point, we've repeatedly encouraged sadie_i21 to be here more often, I know she was working on a 2nd computer to make it easier
20:27:48 <str4d> sadie_i21, I still have that bouncer account - sadie - if you want it
20:28:04 <zzz> i think it will be difficult to manage the project if you aren't here very often
20:28:28 <anonimal> Hi sadie_i21, we've never officially said hi.
20:28:28 <anonimal> I have PM-related questions, but I think they can wait?
20:28:30 <str4d> That would at least enable you to not miss PMs etc.
20:28:39 <zzz> sadie_i21, any progress on getting a setup so you can be here and see scrollback?
20:28:52 <sadie_i21> hi! I am trying to be here more!!
20:28:57 <anonimal> s/PM-related/Project Management-related/
20:29:06 <comraden1> str4d: talk to me on how to set that up for sadie_i21 offline? Twitter or here is fine
20:29:14 <sadie_i21> yes, zzz - all done ansset up
20:29:43 <zzz> ok, we have the general migration plan from me to sadie, lets see how it goes over the next few months
20:29:47 <eche|on> sorry to interrupt, as sadie will get manager(in), system she needs to be organized
20:30:01 <eche|on> hardware she need, sorry
20:30:20 <zzz> echelon huh?
20:30:41 <str4d> comraden1, k
20:31:00 <zzz> anything else on 3) ?
20:31:05 <comraden1> eche|on: I setup a computer for her so that might not be necessary, but that's her call of course if she wants a new piece of equipment
20:31:14 <eche|on> zzz: sorry, we talked about a pc system she needs, and she shopuld get in contact with me
20:31:23 <zzz> ok
20:31:29 <zzz> 4) GMP 6 readiness for merging - http://zzz.i2p/topics/1960 (tuna)
20:31:35 <zzz> hottuna, what's the latest?
20:31:38 <eche|on> if thats the point, IMHO it is fine, but the meeting round here can vote yes!
20:31:56 <hottuna> jcpuid for windows x86isn't working
20:32:05 <hottuna> I have two options left to test, then I'm 100% out of ideas
20:32:40 <zzz> ok. kytv did it successfully 5 years ago, if you hit the wall maybe he can help
20:32:48 <eche|on> jcpuid is c code?
20:32:58 <hottuna> ucpuid for osx has not been compiled or tested
20:32:58 <hottuna> jcpuid*
20:33:13 <hottuna> c+asm+java-bindings
20:33:13 <zzz> I'd like to have major stuff like this propped for 0.9.25 by mid-Feb, so we have about two weeks to make it happen
20:33:24 <anonimal> hottuna: I can help with that.
20:33:31 <str4d> There's also another alternative we could look int
20:33:41 <hottuna> zzz: I can't make any promises. I'm hitting a bit of a wall here
20:33:47 <hottuna> anonimal: help with osx builds?
20:33:48 <str4d> orignal raised the point a while back that our ElGamal implementation could be a lot more efficient.
20:33:52 <hottuna> or help with windows x86?
20:34:02 <hottuna> str4d: how?
20:34:04 <str4d> (currently it just does the ElG math directly)
20:34:07 <hottuna> by having it be all c?
20:34:12 <zzz> let's not get sidetracked on ElG
20:34:17 <zzz> in the meeting
20:34:25 <str4d> hottuna, using e.g. Montgomery ladder or something
20:34:30 <str4d> Still to be looked into
20:34:35 <hottuna> ok
20:34:41 <IrcI2Pd743> C0B4 for example, nobody. All people just believe a word about the safety and anonymity of the network.
20:34:53 <zzz> ok so the summary is that hottuna needs help and the clock is ticking or we will miss .25. everybody please help if he asks
20:35:00 <anonimal> hottuna: Yes. I'm always strapped with time these days + Kovri, so I'll do what I can.
20:35:08 <zzz> anything else on 4) ?
20:35:14 <anonimal> hottuna: Latest link is in the forum post?
20:35:34 <str4d> I'm useless for testing unfortunately
20:35:36 <hottuna> links for what?
20:35:40 <hottuna> for jcpuid?
20:35:47 <orignal> str4d, 100%
20:36:18 <zzz> 5) http://secure.tinhat.i2p console home page request - http://zzz.i2p/topics/236?page=3#p10884
20:36:27 <zzz> The_Tin_Hat, please tell us about your site
20:37:10 <JIa3apb_KaraHoBu4> Justification - for the weak!
20:37:16 <The_Tin_Hat> The site provides a number of practical tutorials on privacy and security, aimed at being digestible by intermediate users, including a number of tutorials on i2p and tor
20:38:03 <The_Tin_Hat> I think its relevant for people who are just getting into I2P and/or internet security and privacy
20:38:03 <zzz> I know you've been around at thethinhat.i2p for a while, what's with the relatively new secure.thetinhat.com? how long has each been around?
20:38:08 <trolly> I know thetinhat from long
20:38:18 <trolly> I translated some of those tutorials
20:38:23 <str4d> zzz, IIUC secure.thetinhat.i2p is an EdDSA key
20:38:44 <The_Tin_Hat> thetinhat.i2p still exists, but the subdomain was added when i switched servers and upgraded the key, along with longer tunnels
20:38:53 <C0B4> I'm sorry, but I wait long for an answer to the question, or you're not respond to mere mortals>>> <C0B4> I'm sorry, who checked the safety 0.9.24
20:38:53 <zzz> anybody have any questions or comments about this request?
20:38:57 <str4d> So 5a) we need to extend the subscriptions feeds to enable key upgrades
20:39:16 <zzz> C0B4, we're in the middle of a meeting, sorry
20:39:43 <zzz> str4d, we'll talk about 5a) in the roadmap meetings next month
20:39:52 <str4d> b
20:40:15 <str4d> I am +1 on adding.
20:40:47 <hottuna> +1, add it
20:40:52 <anonimal> hottuna: Yes, jcpuid.
20:40:56 <zzz> ok re: secure.thetinhat.i2p console home page request, if there are no other questions or comments, please vote +1 or -1
20:40:59 <lazygravy> +1
20:41:13 <Yankee> Hi, gays!
20:41:23 <trolly> +1
20:41:23 <cacapo> +1
20:41:51 <comraden1> +1 for adding
20:41:53 <anonimal> hottuna: Or are we working directly from mtn now? (I haven't seen anything since I last tested)
20:42:24 <zzz> anonimal, we've moved off that topic, please discuss elsewhere, thanks
20:42:32 <zzz> ok last call for 5)
20:42:37 <z3r0fox> +1
20:43:06 <zzz> hearing no objections, we'll approve the thinhat request, I'll check it in for .25
20:43:27 <zzz> 6) Proposal for Code of Conduct - http://zzz.i2p/topics/2015 (Sadie)
20:43:27 <zzz> 6a) Proposal and reasoning (Sadie)
20:43:27 <zzz> 6b) Questions for Sadie
20:43:27 <zzz> 6c) Brief comments from those who have NOT already commented on zzz.i2p
20:43:27 <zzz> 6d) Brief Comments from those who HAVE already commented on zzz.i2p
20:43:27 <zzz> 6e) Volunteers to present specific proposal at next meeting
20:43:50 <zzz> I'd like to limit this topic to about 20 minutes. We aren't going to make any final decision today
20:43:53 <zzz> 6a) Proposal and reasoning (Sadie)
20:44:01 <zzz> sadie_i21, you're up
20:45:30 <zzz> ok we lost sadie, let's move to 6b
20:45:36 <zzz> er, 6c
20:45:40 <Yankee> zzz: Edward Snowden wrote that i2p not safe
20:45:44 <zzz> 6c) Brief comments from those who have NOT already commented on zzz.i2p
20:46:09 <zzz> if you have not already added your thoughts to the zzz.i2p thread, please comment on this proposal now
20:46:13 <orignal> 6с, imho CoC is completely useless
20:46:32 <orignal> a adult person must have it in thier head
20:47:02 <orignal> rather than create policy, CoC and other HR's sh#t
20:47:29 <comraden1> zzz: I'm for a coc (had lazygravy post a link to the nsa's coc as an example). This is part of project maturity for development and to ensure that we can get more than just programmers involved with i2p
20:47:41 <orignal> do jobs instead policies
20:47:53 <eche|on> I am on the point, as is should already be acked by us all, we can also write it down and fix the unwritten rules. No change at all.
20:48:02 <anonimal> zzz: I'm *for* a CoC.
20:48:04 * orignal believes you will get less programmers
20:48:04 <zzz> anybody else who hasn't commented on the zzz.i2p thread wish to add their thoughts?
20:48:16 <zzz> please be brief with your comments
20:49:05 <orignal> being brief. We are not going to introduce any CoC for i2pd.
20:49:18 <zzz> ok. let's circle back to 6a). sadie_i21 please fill us in on your proposal, what you had in mind, and why
20:49:19 <orignal> period
20:50:15 <Yankee> anonimal: I have not seen more boring than you...
20:50:24 <EinMByte> Probably a CoC is not very important, but I'm not against.
20:50:24 <EinMByte> It's more or less a formality
20:50:40 <anonimal> One comment:
20:50:43 <anonimal> CoC's not only protect victims but also protect offenders from making stupid decisions that have longterm consequences such as career or personal.
20:50:43 <anonimal> I can comment more in the thread. EOT.
20:50:56 <zzz> ok, 6d) let's throw it open for other comments, even if you have already commented in the zzz.i2p thread
20:51:18 <zzz> anybody feel that they weren't clear in the thread or wish to add more thoughts?
20:52:03 <sadie_i21> I was looking for feedback on the idea of having comminity standards
20:52:04 <EinMByte> anonimal: Yeah, but let's consider the fact that most offenders will be anonymous.
20:53:00 <allyourbase> What is it going to be used for? Sending to reporters? Expell project members?
20:53:02 <sadie_i21> to zzz's point, in line with the maturity of the project
20:53:08 <lazygravy> I feel similar to EinMByte. It is either useless, or good. Not some end of the world event as some have made it seem
20:53:08 <anonimal> EinMByte: So far, I've seen 50/50 on that (one anonymous, one not anonymous) but I see your point.
20:53:08 <lazygravy> Useless meaning a net zero, not negative
20:53:08 <C0B4> anonimal, it is a priori a criminal. Why defend him&
20:53:09 <zzz> sadie, you simply wanted general feedback on the idea of any standard or CoC at all? You haven't (yet) offered a specific example to consider
20:53:26 <comraden1> EinMByte: ideally we can start with ways to address this. I will link this again https://github.com/NationalSecurityAgency/SIMP/blob/master/Community_Code_of_Conduct.md as I think the guideline violations part is something we can enforce
20:53:31 <psi> A CoC is useless and a shot in the foot IMO
20:53:37 <EinMByte> anonimal: Well if you plan on offending people, it's probably wise to remain anonymous ;).
20:53:39 <psi> PR wise
20:53:39 <Yankee> zzz: I wrote that the Russian written on the client C++. It's true?
20:53:57 <zzz> Yankee, we're in the middle of a meeting, sorry
20:54:00 <sadie_i21> also, would having one help us if we were to apply for grants, etc
20:54:21 <EinMByte> sadie_i21: That might be true, good point.
20:54:33 <zab__> orly? grants are important
20:54:34 <psi> also i have been accused of spreading FUD
20:54:38 <lazygravy> Debian and thousands of other projects use one and their PR is fine. How do you contest this?
20:54:39 <sadie_i21> thanks to everyone who took the time to share ideas on the forum btw about this
20:54:50 <anonimal> Yankee: Pashol na xyi :)
20:54:53 * orignal agress with zab__
20:55:22 * orignal is for CoC after last anonimal's phrse
20:55:30 <psi> lazygravy: saddie just proposed community standards which you said never would happen
20:55:33 <comraden1> zab__: this is what sadie_i21is referring to, new stance by the NSF in America https://www.nsf.gov/news/news_summ.jsp?cntn_id=137466
20:55:41 <anonimal> sadie_i21: Thanks for bringing it to our attention.
20:55:59 <str4d> sadie_i21, did you mean the community as a whole, or just the dev community?
20:56:00 <lazygravy> psi: the FUD needs to stop. Its the dev community
20:56:01 <zzz> ok, sadie_i21 would you like to come back at the next meeting with a specific proposal? or not proceed? what's the next step?
20:56:09 <Yankee> anonimal: what?
20:56:11 <psi> lazygravy: it's not fud...
20:56:24 <orignal> guys, I'm sorry do you believe swearing is aloowed here?
20:56:32 <sadie_i21> not the community as a whole - no.
20:56:44 <nda> CoC. what you will do with 'bad people' technically? (sorry for my en)
20:56:44 <IrcI2Pd743> sadie_i21, r u not a HR for a living?
20:57:06 <lazygravy> psi: it is. But this is a offline discussion.
20:57:09 * zab__ smiles
20:57:25 <zab__> Yankee: подожди, сейчас встреча
20:57:25 <nda> wrote letters to government or what?
20:57:34 <C0B4> an
20:57:45 <psi> a CoC is the wrong thing for i2p
20:57:52 <zzz> do we have any volunteers to work on a specific proposal for next month, in light of the comments here and on the zzz.i2p thread?
20:57:52 <C0B4> anonimal, ты не хотел бы извиниться за мат?
20:58:07 <orignal> zab__, один мудак позоволил себе вольность послать нах при женщинах
20:58:15 <eche|on> nda: in last line of work, exclude from our java main fork dev work for some time?
20:58:17 <IrcI2Pd743> anonimal, вот да. Мы, вообще-то, не ругаемся, сдерживаемся. А ты?
20:58:21 <zzz> guys, please stay on topic and in english, thanks
20:58:23 <sadie_i21> lets come up with a proposal for the next meeting
20:58:40 <zzz> ok, anybody volunteer to work with sadie?
20:58:44 <orignal> zzz, anonimal was firsr
20:58:53 <IrcI2Pd743> zzz, sorry, but and you developer first
20:58:56 <comraden1> zzz: I can assist whoever with links to ideas, etc. I can't commit myself to doing all the work because of my life falling apart at the moment :)
20:58:58 <orignal> he sais something very offensive for everybody
20:59:02 <IrcI2Pd743> *your
20:59:04 <nda> eche|on oh thanks for your answer
20:59:10 <zab__> I promise to read the CoC thoroughly and have an opinion
20:59:19 <anonimal> zzz sadie_i21: I would like to help.
20:59:35 <lazygravy> I do not think we have agreed on a specific text
20:59:48 <anonimal> I need to spend a little more java i2p time than a VRP and rewriting/reorganzing docs.
20:59:49 <lazygravy> (Which is super important, IMO. One could be worded horribly)
21:00:04 <zzz> ok. In summary it appears that more "team members" (either checkin privs or on our team page) are in favor than opposed, while among non-team-members, more are opposed
21:00:21 <str4d> lazygravy, yep. And I wouldn't think that specific text would even be agreed on at next meting
21:00:21 <str4d> meeting*
21:00:25 <zzz> I think both groups are important to consider, as non-team-members may become team members
21:00:39 <zab__> we would ideally come up with more than one candidate coc
21:00:41 <str4d> I think that we have a bunch of proposals, as well as several reasons for and against.
21:01:13 <zzz> As I suspect I will be the final arbiter of any code or process, I'm not at all eager to adopt anything that doesn't have broad or near-unanimous consensus
21:01:21 <str4d> A good starting point would be for some people to review the proposed options, looking at pros and cons
21:01:38 <zzz> ok, sadie sounds like your name is on the assignment to bring something back next month
21:01:44 <zzz> anything else on 6) ?
21:02:02 <sadie_i21> noted
21:02:10 <str4d> Additional research around the positive and negative impressions of "CoC"s or similar would be useful (e.g. the grants issue above, or the negative impressions that appear to be main objections)
21:02:16 <EinMByte> I can't make up my mind until I actually get to see a proposal, I think
21:02:17 <str4d> But that would be more involved
21:02:34 <nda> and with CoC you will nothing to do with 'bad people' who not from your i2p-team?
21:02:44 <zzz> last call for 6)
21:02:57 <lazygravy> str4d++
21:03:09 <str4d> nda, the CoC or whatever would only be for the I2P dev team, yes
21:03:25 * lazygravy afks, irl came up
21:03:27 <eche|on> nda: why should we? it is for our i2p-dev-team
21:03:29 <str4d> Basically, we need more data.
21:03:40 <nda> str4d ok thank you
21:03:44 <psi> (for now)
21:03:45 <comraden1> zab__: not a bad idea. It makes sense to look at what's available that we can copy from rather than roll our own
21:03:49 <zzz> ok, I declare an end to 6), thanks everybody
21:03:59 <zzz> 7) VRP anonimal go
21:04:03 <str4d> In essence, it would be an extension to the developer agreements we already have to sign.
21:04:40 <anonimal> Re: VRP: I'm awaiting respones from zzz and str4d and community.
21:04:57 <anonimal> Then I can re-write and wrap-up the ticket.
21:04:59 <nda> i thinked that this something like "Call Police this is bad man in I2P!" really sorry )
21:05:01 <comraden1> And to add to str4d's point, it would also ensure a baseline for those who didn't sign a dev agreement (like myself)
21:05:08 <str4d> anonimal, oh, have there been further updates? Sorry I missed them.
21:05:09 <zzz> i don't have the ticket number in front of me. what do you need? I know str4d met with Kate recently. str4d what's the latest?
21:05:26 <eche|on> what is VRP`
21:05:26 <eche|on> ?
21:05:36 <str4d> eche|on, Vulnerability Response Process
21:05:37 <anonimal> http://trac.i2p2.i2p/ticket/1119
21:05:37 <zzz> anonimal, you have that ticket?
21:05:39 <eche|on> ah, ok
21:05:52 <eche|on> a complicated topic
21:06:04 <zzz> i don't think we've even decided to use H1 yet, have we? But clearly they've made a big splash recently
21:06:15 <str4d> zzz, I haven't followed up with Katie yet regarding the OSS bug bounty program (thesis), but will do so this week.
21:06:38 <str4d> I certainly got a good impression from her, as well as from their response on our ticket
21:06:38 <zzz> would this be a good thing to decide on once and for all during our roadmap meetings next month?
21:06:40 <anonimal> I think that was the biggest hurdle: the H1 decision.
21:06:40 <anonimal> They commented in the ticket, made their case,
21:06:41 <anonimal> I've made my case,
21:06:43 <anonimal> kay made their case,
21:06:52 <str4d> Katie also had good comments about the process we are going through
21:07:33 <zzz> I'm not sure we'll be able to focus enough to make decisions before march. I'm a little overwhelmed though with the detail in the ticket. It may be too much. but maybe not.
21:08:02 <zzz> str4d, how and when should we tackle this?
21:08:37 <str4d> Katie liked the detail and lengths we were going to making sure we got this right, FWIW
21:08:52 <zzz> fine, but I care what you think, not katie so much :)
21:09:05 <str4d> zzz, if we did manage to get into the same bug bounty program Tor is on, I think that would probably decide it for us
21:09:09 <zzz> how and when do we get to an answer
21:09:37 <str4d> because I think we'd have a larger influx of researchers than if we just had a free page
21:09:47 <anonimal> Since this was postponed from December's meeting, I'm not exciting for another postponement
21:09:47 <anonimal> But I really am in no place to argue or make requests.
21:09:47 <anonimal> So, whatever works for everyone else.
21:09:47 <anonimal> s/exciting/excited/
21:09:55 <zzz> yeah but independent of H1, we need a process
21:10:04 <str4d> Yep
21:10:24 <zzz> so I propse we work on it during the roadmap meetings in march. OK?
21:10:31 <str4d> I will review anonimal's latest changes next week.
21:10:41 <zzz> ok, I'll do that too
21:10:49 <zzz> anything else on 7) ?
21:10:54 <str4d> By Feb 12
21:11:02 <IrcI2Pd743> anonimal, It was frustrating when you allowed yourself to swear around me.
21:11:18 <anonimal> Did my last 4 lines get through?
21:11:18 * comraden1 has to run afk
21:11:29 <zzz> anything else for the meeting?
21:11:32 <str4d> anonimal, I saw up to s/
21:11:40 <IrcI2Pd743> anonimal, I demand an apology.
21:11:42 * zzz warms up the *baffer
21:11:52 <anonimal> I'll review the meeting log, I think I missed a bunch of text.
21:11:57 <orignal> 8) anonimal's phrase
21:12:09 * zzz *bafffs* the meeting closed

View File

@ -0,0 +1,36 @@
I2P dev meeting, February 2, 2016 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
allyourbase,
anonimal,
C0B4,
cacapo,
comraden1,
eche|on,
EinMByte,
hottuna,
Hummingbird,
Irc2PGuest39432,
Irc2PGuest76545,
Irc2PGuest95462,
IrcI2Pd743,
JIa3apb_KaraHoBu4,
lazygravy,
nda,
orignal,
psi,
sadie_i21,
str4d,
supervillain,
The_Tin_Hat,
trolly,
xcps,
Yankee,
z3r0fox,
zab\__,
zzz

View File

@ -0,0 +1,230 @@
20:00:02 <zzz> 0) Hi
20:00:02 <zzz> 1) Review of old assigned tasks still open from Dec. 30 meeting http://zzz.i2p/topics/2014
20:00:02 <zzz> 2) Review of new assigned tasks from Feb. 2 meeting http://zzz.i2p/topics/2014
20:00:02 <zzz> 3) Prep and schedule for roadmap meetings http://zzz.i2p/topics/2021
20:00:02 <zzz> 4) Code of Conduct proposal (Sadie) http://zzz.i2p/topics/2015?page=2
20:00:12 <zzz> 0) Hi
20:00:15 <zzz> hi
20:00:25 <anonimal> Hi
20:00:38 <str4d> Hi
20:01:07 <zzz> 1) Review of old assigned tasks still open from Dec. 30 meeting http://zzz.i2p/topics/2014
20:01:19 <hottuna4> hi
20:01:37 <zzz> gravy to post one on encrypted leasesets by Jan. 27, or different topic, by Feb. 15
20:01:51 <zzz> anybody know about gravy's status?
20:03:13 <anonimal> Nope.
20:03:47 <sadie_i2p> busy irl
20:04:07 <zzz> sadie_i2p, you have a new date from him?
20:04:24 <sadie_i2p> waiting for new date from Gravy
20:04:33 <zzz> ok, we'll roll it over to next meeting
20:04:42 <zzz> Sadie to work with J to get his reseed blog post up, new date mid-Feb.
20:04:49 <zzz> sadie_i2p, what's the latest on this?
20:05:42 <sadie_i2p> J is busy also, working with Back up
20:06:07 <zzz> sadie_i2p, is a blog post going to happen at this point or should we move on?
20:06:44 <sadie_i2p> back up and I working on something else at this point - blog post will probably not happen
20:06:58 <zzz> ok, I'll scratch it off the list
20:07:02 <sadie_i2p> move on
20:07:17 <zzz> Sadie to contact backup to discuss reseed campaign, new date mid-Feb.
20:07:32 <zzz> sadie_i2p, what are you and backup cooking up?
20:07:34 <anonimal> Feb?
20:07:54 <zzz> yes anonimal these are all past-due items
20:08:26 <sadie_i2p> new content and graphics
20:08:51 <zzz> for the website i presume
20:08:55 <sadie_i2p> there will be delays on this due to schedules but back up is now working on content and I am working on graphics for the site
20:09:15 <zzz> what about the "campaign" beyond the website itself?
20:09:30 <zzz> what do you guys have planned? and when?
20:09:34 <eche|on> great
20:09:47 <sadie_i2p> we will prepare a new page for the site and then begin directing people there via social media etc...
20:10:00 <sadie_i2p> maybe use new stickers as incentive too
20:10:10 <eche|on> stickers!
20:10:17 <zzz> ooh yeah, stickers to reseeders, great idea
20:10:19 <str4d> Is this a "what is reseed" page, or a "how to run a reseed" guide?
20:10:49 <sadie_i2p> this is a new how to run a reseed guide
20:11:36 <zzz> sadie_i2p, can you please give us the next milestone for this? (date, what it is)
20:12:12 <str4d> This would be a guide for "users" of or contributors to I2P then, rather than developers
20:12:26 <str4d> So I'll think of a better place to put these guides
20:13:07 <sadie_i2p> this has the potential to take a bit longer - I will say in two months time latest
20:13:10 <str4d> except hmm...
20:13:21 <sadie_i2p> The guide will be for users of and contributors
20:13:45 <zzz> sadie_i2p, please give us an intermediate milestone for next month
20:13:59 <sadie_i2p> can probably provide content up date in one month
20:14:02 <str4d> Actually, I guess it does belong under "Get involved -> Guides"
20:14:11 <zzz> ok great
20:14:16 <zzz> moving on
20:14:26 <zzz> str4d, gravy, cacapo: Add use cases, what are we best at, more "passion" and "fat", add / highlight Bote, by end of
20:14:39 <zzz> January OPEN, new date March 1
20:14:50 <zzz> I saw that cacapo wrote up some nice use cases
20:15:06 <str4d> Yah, based on dymaxion's examples
20:15:11 <zzz> str4d, what's the status on pulling that into the website along with some passion and fat?
20:15:21 <Yankee> Hello ladies and gentlemen!
20:15:35 <str4d> IMHO the content needs a little polishing (feels a bit too "I2P to the rescue!")
20:16:03 <str4d> As for where on the site, I'm still not quite sure where to fit this in
20:16:05 <zzz> str4d, was due march 1, can you give us a new date for getting this on to the website?
20:16:45 <str4d> The "goal" of this item was to do something better than the current middle-column of the front-page and the supported applications page
20:18:02 <str4d> zzz, I can put the page up at a URL
20:18:42 <zzz> are you and sadie_i2p on the same page on what this work item is? sadie added this to the todo list at ccc
20:20:29 <str4d> It
20:20:45 <str4d> 's a start, but we still need to figure out the broader information architecture
20:20:57 <str4d> what it is we are actually trying to convey with the homepage
20:21:42 <zzz> ok so give me a date for the first part
20:21:49 <zzz> please
20:22:12 <str4d> I will migrate the use cases document to the website by the end of this week
20:22:42 <str4d> And a further status report at the next meeting on the homepage rearchitecture
20:23:04 <zzz> ok great, hopefully you and sadie can discuss the details on the larger goals of fat and passion.
20:23:39 <zzz> comraden to edit / polish / enhance / post I2P story by end of February
20:24:13 <zzz> anybody know what comraden1 is up to? I need the edited draft back from him, then I want to take one more pass at it
20:25:00 <zzz> this was due on the website monday
20:25:30 <sadie_i2p> new date is April 1
20:25:59 <zzz> ok. i need the draft back from him in a couple weeks then
20:26:14 <anonimal> zzz: Link to present story draft?
20:26:39 <zzz> what's on zzzi2p is still the latest. I don't want to make any changes while comraden1 has the "master"
20:26:53 <zzz> ok moving on
20:27:09 <zzz> tickets: Sadie to review, make recommendations or possibly start managing them (by when?) OPEN - new date mid-Feb. (?)
20:27:09 <anonimal> Ok.
20:27:30 <zzz> sadie_i2p, how's this big task going?
20:28:06 <sadie_i2p> ugh
20:29:12 <zzz> need a little more than just ugh :)
20:29:14 <str4d> It was a sizeable task :P
20:29:35 <sadie_i2p> str4d and I have talked about weekly ticket meetings
20:29:56 <zzz> that could be more feasible than some one-time 'review'
20:30:06 <str4d> I thought I brought this up at an earlier meeting, but in case I didn't: I added an "open" status to Trac, to denote tickets we devs have seen but there is no one assigned or no particular status.
20:30:26 <str4d> My goal of that was to differentiate those tickets from actually-new tickets
20:30:26 <sadie_i2p> yes it would
20:30:26 <zzz> sadie_i2p, have you gotten into it enough to make any recommendations on how we are managing tickets?
20:31:08 <str4d> So the pile of "new" tickets is a darn sight smaller now I've kicked the ones we opened ourselves
20:31:15 <sadie_i2p> at this point my best recommendation is weekly check in and triage
20:32:34 <str4d> +1
20:32:34 <zzz> ok. are we ready yet to schedule the first meeting or is there more organizing to do first?
20:33:28 <str4d> I'm still travelling, so I'd prefer to wait until next week
20:33:46 <zzz> ok. if you haven't scheduled anything before the April meeting, we will ping you then
20:34:05 <zzz> str4d Android 0.9.24 release by Feb 7, TODO list collated by Feb. 26
20:34:21 <zzz> seems like you're behind on those :)
20:34:28 <str4d> Heh
20:34:34 <zzz> new dates?
20:34:37 <str4d> Both of those failed miserably, because PhD thesis
20:34:55 <str4d> (which I *finally* got submitted mid-Feb)
20:35:04 <str4d> I'm working on cutting 0.9.24 as we speak
20:35:06 <zzz> woot.
20:35:10 <str4d> (on sloooooow laptop()
20:35:14 <str4d> )
20:35:16 <zzz> and the todo list?
20:35:31 <str4d> Todo list collation will happen in the next few days
20:35:41 <zzz> ok, we're going to hold you to it
20:35:51 <str4d> heh :P
20:36:01 <zzz> str4d and zzz to review VRP ticket by Feb 12. I did my side.
20:36:06 <str4d> It's mainly just going through the in-repo todo list and looking for things missing from my personal todo list
20:36:14 <zzz> new date for that?
20:36:20 <anonimal> Re: #1119, I'm just now seeing zzz's latest comment from 3 weeks ago. I never received an email nor have I been receiving emails from github or other things over the past few weeks to @mail.i2p/@i2pmail.org.
20:36:32 <anonimal> I'm seriously wondering if postman's email service is having problems.
20:36:37 <str4d> Another thesis casualty. I'll read through it this afternoon after 0.9.24 is out
20:36:46 <anonimal> I may have to switch email :/
20:36:49 <zzz> ok great
20:36:49 <str4d> anonimal, yah, I have had serious issues lately too (lots of email getting bounced)
20:37:03 <zzz> believe it or not, I think that's all for 1)
20:37:11 <zzz> and 2)
20:37:17 <str4d> (since about Feb 6ish)
20:37:22 <anonimal> zzz: I'll read your comments more in-depth and rewrite the VRP.
20:37:28 <zzz> 3) Prep and schedule for roadmap meetings http://zzz.i2p/topics/2021
20:37:33 <anonimal> Wait!
20:37:45 <zzz> ok, sorry, anything else on 1 or 2?
20:37:45 <anonimal> For 1): decision on H1?
20:38:06 <anonimal> The decision on H1 was moved to 1) from what I remember.
20:38:41 <anonimal> Or not, either way I think we'll cover it today.
20:38:47 <zzz> at the last meeting, we decided we would wrap up the VRP and h1 discussions at the roadmap meetings march 4-6
20:39:11 <anonimal> K.
20:39:23 <zzz> I just schedule those, we're going to do them tomorrow and sunday at 3 PM UTC. anonimal can you make either of those meetings?
20:39:30 <str4d> Woo, that gives me a chance to review :P
20:41:08 <zzz> so that takes us to 3)
20:41:11 <zzz> as I said
20:41:19 <zzz> I just schedule those, we're going to do them tomorrow and sunday at 3 PM UTC.
20:41:21 <anonimal> zzz: Eek, saturday is kovri's whopping two hour minimum 6pm UTC meeting.
20:41:21 * anonimal thinking
20:41:23 <anonimal> zzz: How long do you think saturday's meeting will run to?
20:41:33 <orignal_> does everybody have to care about kovri meeting here?
20:41:40 <zzz> our meetings will be friday and sunday. no saturday.
20:41:46 <orignal_> or it can be sorted out privately?
20:42:05 <zzz> I propose we do VRP first thing in the sunday meeting. ok?
20:42:06 * anonimal lost track of days
20:42:11 <anonimal> I can do Sunday.
20:42:16 <anonimal> Ok, sounds great.
20:43:00 <zzz> these are going to be informal meetings, reviewing where we are at and where we want to go
20:43:11 <zzz> the goal is to set a roadmap for the rest of the year at least
20:43:22 <zzz> the second meeting may be more structured
20:43:46 <zzz> I'm kindof stuck on what I should be doing next and for the rest of the year. so these meetings are vital to\
20:43:52 <zzz> setting the direction for me
20:44:08 <str4d> Mmmk
20:44:15 <anonimal> K.
20:44:37 <zzz> so friday will be more informal review or priorities. Sunday we'll start with h1/vrp, then move to really nail down the roadmap for .26-.29
20:44:47 <zzz> anything else on 3)
20:45:31 <zzz> moving on to 4)
20:45:39 <zzz> 4) Code of Conduct proposal (Sadie) http://zzz.i2p/topics/2015?page=2
20:45:56 <zzz> i see she's now proposed doing something similar to debian
20:46:00 <zzz> ah back just in time
20:46:12 <zzz> anybody have any thoughts on the debian coc?
20:46:48 <orignal_> dedian is not an anonymous network
20:46:56 * str4d pulls up the link
20:47:05 <str4d> orignal_, no, but it is FOSS
20:47:08 <zzz> but what's your thoughts on their CoC orignal_ ?
20:47:17 <orignal_> people comes to I2P for different reasons
20:47:33 <anonimal> IMO, it's a little limp and I'm not sure how anything is enforced.
20:48:02 <orignal_> zzz, their CoC is suitable for them since it's an established project with history
20:48:04 <zzz> sadie, what do you like about the debian CoC?
20:48:14 <orignal_> I2P is completely different
20:48:32 <sadie_i2p> it seemed to provide a good basic structure for us to start with at least
20:48:40 <str4d> orignal_, and I2P's >10-year history doesn't make it an established project?
20:48:45 <zzz> sure, we're different, but we are indeed an established project with history
20:48:51 <orignal_> the last things people come here to listen this HR's BS again
20:49:31 <zzz> I dont see what the reasons have for coming to a project has to do with the standards for how they should behave once they get here
20:49:41 <zzz> HR?
20:50:31 <sadie_i2p> I am looking for examples that are simple and to the point -
20:50:31 <sadie_i2p> so perhaps not the best, but somewhere to start
20:51:29 <zzz> do we think the debian one is the best place to start, or would the monero be better
20:51:36 <orignal_> str4d, unfortunally not
20:51:51 <str4d> orignal_, "people != developers", once again.
20:51:53 <orignal_> compare how many people use Debian and I2P
20:52:11 <orignal_> donn't try to copy a big guys, you are not at that league yet
20:52:12 <str4d> We can't conflate users with developers.
20:52:21 <zzz> I think if we can pick the one closest to our goal, then we can ask some people to work on editing it to fit our situation
20:52:42 <str4d> That would be like saying "anyone who installs Debian OS cannot say anything we don't like"
20:52:42 <str4d> That is *not* what the point is here
20:52:53 <str4d> And therefore, userbase does not matter for this discussion
20:52:54 <sadie_i2p> monero has a very good one as well - if this is better of the two I have no objection
20:53:21 <orignal_> zzz, CoC is a HR's stuff
20:53:21 <orignal_> nothing else
20:53:28 <zzz> opinions from others on debian vs. monero ?
20:53:44 <anonimal> + Monero
20:53:49 <zzz> orignal_, what do you mean by "HR"?
20:54:07 <orignal_> HR = human resource
20:54:24 <zzz> moneros is shorter than debian, so I guess it's easier to start small
20:55:13 <zzz> do we have any volunteers to mark up the monero CoC with proposed changes and come back with it next month?
20:55:18 <str4d> zzz, I like the essence of the Debian one, in that it covers a lot of what I think we care about (e.g. point 2 would have been very useful recently)
20:55:26 <zzz> or the debian one
20:55:28 <orignal_> my opinion again, it's a time for it yet
20:55:40 <zzz> we don't have to decide now on debian vs monero
20:55:48 <zzz> orignal_, we got your message loud and clear, thanks
20:55:59 <str4d> And it isn't too prescriptive
20:56:13 <zzz> no decisions made. we're just discussing.
20:56:40 <sadie_i2p> we can use what is most applicable from both
20:56:43 <anonimal> Re: CoC,
20:56:56 <str4d> I also like point 6 - that in responding to issues, the responder should also be respectful of the CoC
20:57:03 <anonimal> https://github.com/monero-project/kovri/blob/master/doc/CONTRIBUTING.md
20:57:09 <anonimal> Also includes beautiful Monero governance process graphic.
20:57:30 <comraden1> zzz: re: draft -- I've been hit with an increase of crap at work and I'm dealing with a family member who went back into remission, so the history draft got put on the back burner. sadie_i2p mentioned 2016-04-01 as the new date which I'll try to meet
20:57:30 <str4d> Ooh, pictures!
20:57:48 <comraden1> zzz: apologies for being out of the loop for a few weeks!
20:58:06 <anonimal> str4d zzz: Yeah, and I'd be willing to patch the contributing guide to suit java i2p.
20:58:52 <anonimal> Hi comraden1, I'm posting something to the story of i2p page for review.
20:59:30 <sadie_i2p> i'll volunteer
20:59:58 <comraden1> anonimal: hey thanks :) if it's on forum I'll get to it next time I hop on. Feel free to pm it to me or reach out on clearnet
21:00:05 <zzz> ok, excellent. Sadie_i2p and anonimal, can you come back with a recommendation at next month's meeting?
21:00:20 <sadie_i2p> sure
21:00:25 <zzz> comraden1, thanks for the update, sorry to hear about the family issues
21:00:31 <zzz> anything else on 4) ?
21:00:40 * zzz warms up the baffer
21:00:48 <zzz> anything else for the meeting?
21:00:54 <orignal_> yes, writing CoC for somebody seems a better work
21:01:13 <anonimal> Yes, though because i2pmail is problematic lately, sadie_i2p and I should try to chat over IRC if possible.
21:01:21 <anonimal> No, nothing else for meeting from me zzz.
21:01:52 <zzz> orignal_, please do not interrupt our meeting with snide comments about kovri. It went way too far last month and I promised I wouldn't let it happen again
21:02:07 <orignal_> did I?
21:02:41 * zzz *bafs* the meeting closed
21:02:45 <zzz> thanks everybody

View File

@ -0,0 +1,17 @@
I2P dev meeting, March 3, 2016 @ 20:00 UTC
==========================================
Quick recap
-----------
* **Present:**
anonimal,
comraden1,
eche|on,
hottuna4,
orignal\_,
sadie_i2p,
str4d,
Yankee,
zzz

View File

@ -0,0 +1,320 @@
15:00:05 <zzz> 0) hi
15:00:23 <zzz> 1) structure for these meetings
15:00:32 <zzz> 2) roadmap discussion
15:00:37 <zzz> 0) hi
15:00:41 <zzz> hi
15:00:54 <str4d> hi
15:01:02 <xcps_> hi!
15:01:27 <orignal_> what's up?
15:02:18 <zzz> please review the thread at http://zzz.i2p/topics/2021 and the current roadmap at http://i2p-projekt.i2p/en/get-involved/roadmap
15:02:27 <zzz> 1) structure for these meetings
15:03:22 <zzz> should we go straight into the roadmap or should we talk about high-level priorities first?
15:03:53 <str4d> I'd go with the latter first
15:04:41 <zzz> ok, so in the thread, I threw out two priorities - grow the network, and increase security
15:04:55 <zzz> how do those sound as high-level principles?
15:05:25 <zzz> let's first decide what's important
15:05:32 <EinMByte> They sound as expected, I think
15:05:48 <EinMByte> "grow the network" should be in the broad meaning, though
15:05:57 <str4d> I think those are great as broad themes
15:06:03 <zzz> anonimal threw out a whole bunch more in the thread, but that wasn't really what I was going for
15:06:13 <xcps_> increasing security should be always the most important imho
15:06:28 <zzz> other principles we should consider as we review the roadmap?
15:06:28 <str4d> What IMHO we need to do here is figure out what those actually mean in terms of potential deliverables
15:06:40 <EinMByte> So "grow the network" should also mean "increase research attention"
15:07:00 <zzz> grow the network means a huge variety of stuff - see the thread
15:07:09 <str4d> EinMByte, yah, I think I might have mentioned that in the thread
15:07:36 <zzz> we'll figure out what these mean shortly. at this minute let's agree on whats important.
15:07:58 <str4d> Usability is of big importance to me, and IMHO feeds into the above two areas
15:07:58 <zzz> everything is possible if we keep growing. once we stop growing we are dead
15:08:05 <zzz> agreed str4d
15:08:41 <str4d> More immediately in terms of increasing our userbase, and more long-term in terms of increasing our public exposure, ease of use by researchers etc.
15:09:11 <EinMByte> Note also that growing is the only way to attract researchers
15:09:25 <zzz> more users bring more devs and more researchers and more content and and and
15:09:37 <EinMByte> Large networks are generally more interesting to study
15:10:05 <EinMByte> So I think we call all agree on those 2 priorities
15:10:16 <zzz> the bulk of our growth in the last year has been from vuze. Which is great but I'd love to have more 'native' growth also
15:10:43 <zzz> but maybe growth in embedded apps, or focusing on applications in general, is the easiest path to growth
15:10:48 <str4d> Yep
15:11:04 <EinMByte> zzz: For a lot of people, it's easier to use an application that runs I2P in the background and handles the configuration for them
15:11:12 <sadie> hi - a little late to the party
15:11:20 <zzz> hi sadie glad you made it
15:11:23 <str4d> That IMHO will come from usability improvements for both the UI and APIs
15:11:42 <str4d> The latter we have already been working on in various threads
15:11:48 <zzz> in some ways, it's the apps that are the UI experts, let them bundle i2p and expose (or hide) it as they see best
15:11:58 <str4d> Mmm
15:12:08 <EinMByte> str4d: That's a different solution to the same problem, yes. And I like it more because bundling I2P with everything doesn't scale IMHO
15:12:30 <str4d> That is kinda the approach I was taking with Android
15:13:04 <EinMByte> There needs to be a way to ensure that people don't have an I2P instance for every application
15:13:12 <zzz> ok, anything else on 1) or should we move on to looking at the roadmap itself?
15:14:00 <str4d> I think everyone here appears to be in rough agreement
15:14:08 <str4d> (no dissent at least :P)
15:14:14 <zzz> let me copy in the lines from the thread. Not as gospel, just for reference
15:14:25 <zzz> Grow the Network
15:14:25 <zzz> Includes: Marketing, joint projects, bundling more stuff, helping others bundle i2p, usability, website improvements, more translations, talks and presentations, articles and stories, UI, Android, Android apps, better GFW evasion, orchid, more libs and tools for client devs, better support for huge websites, supporting alternative router dev, alliances, speedups and efficiency, capacity, increasing limits, getting in
15:14:25 <zzz> to Debian, ...
15:14:25 <zzz> Increase security
15:14:25 <zzz> Includes: Crypto migration, subscription protocol, new transport protocols, pluggable transports, LS2, NTCP2, new DH, key revocation, key storage, code review, sybil, bug fixes, naming, SSL, ...
15:14:46 <zzz> ok, let's move on to 2) the roadmap itself
15:15:10 <zzz> url is http://i2p-projekt.i2p/en/get-involved/roadmap
15:15:50 <zzz> .25 is pretty much done, release in about 10 days, so let's look at the next 4 releases 26-29 for this year
15:16:00 <zzz> which should carry us thru to ccc
15:16:15 <EinMByte> If something is under 2017, e.g., does that mean we start looking into it only then, or does that mean we start the implementation at that point?
15:16:41 <str4d> In terms of things we *need* to do, I'd rank the crypto migration and sybil work as high up there
15:16:42 <zzz> 1mb, we certainly do want to get started on big 2017 things now, like new crypto/dh, ntcp2, etc
15:17:04 <EinMByte> Also, eclipse attacks are a problem right now, IMHO
15:17:05 <zzz> so the roadmap could include prepatory work for those
15:17:23 <str4d> EinMByte, yah, I was bundling that under Sybil
15:17:36 <EinMByte> The whole midnight rotation idea doesn't work and there should be better alternatives, I suppose
15:17:52 <zzz> agreed
15:18:05 <EinMByte> str4d: Sure, it's reasonable to classify them as the same type of attack
15:18:44 <str4d> EinMByte, I discussed this with a few people at RWC
15:18:48 <str4d> Got some thoughts, but hard to discuss right here
15:18:51 <EinMByte> zzz: So if we want to get started on NTCP2/... by 2017 we will need to plan preliminary work
15:18:58 <zzz> right 1mb
15:19:02 <str4d> Yep
15:19:20 <str4d> I want to have planning and research on the roadmap :)
15:19:28 <zzz> here's the issue. I should be working on 26 right now and I don't know what's in it
15:19:39 <orignal_> is it possible to add random padding to existsing NTCP?
15:20:01 <str4d> orignal_, not that I recall, but check the NTCP2 thread
15:20:02 <zzz> so let's spend 10 minutes planning 26, then we can move to the longer term
15:20:13 <str4d> k
15:20:14 <zzz> tell me what I should be doing today
15:20:30 <EinMByte> True, let's focus on that first
15:20:34 <zzz> ok let's see what's on the 25 list that didnt happen
15:20:50 <zzz> wrapper didnt happen, kytv is awol
15:20:54 <EinMByte> "crypto enhancements" is pretty broad
15:21:12 <zzz> what actually happened on crytpo enhancements were some 25519 speedups
15:21:34 <zzz> so the .25 list all actually is in there except wrapper
15:22:00 <zzz> but there's more to do on sybil so lets keep that on the 26 list
15:22:08 <str4d> Great
15:22:25 <str4d> We bumped GMP 6 to .26 because of the need for more testing
15:22:35 <zzz> what else on the 26 list now should be in there or moved
15:23:05 <EinMByte> Eventually preventing sybil will probably be a lot of work, so it seems long-term to me
15:23:10 <EinMByte> (in the sense that we need a good literature review first)
15:23:15 <zzz> orignal, yeah, ntcp w/ padding is ntcp2
15:23:21 <str4d> EinMByte, the Sybil detection tool isn't used for anything yet, that is where more planning is needed :)
15:23:49 <zzz> hottuna4 is unavailable for a month, not sure when that month is up, so gmp6 may or not make it into 26
15:24:02 <str4d> K
15:24:37 <str4d> Subscription protocol improvements for addressbook: that is something that would be very good to add in ASAP, so old Dest owners can migrate to Ed25519
15:24:37 <EinMByte> I think CRLs don't really need a question mark
15:24:47 <str4d> But how long will that actually take to do?
15:25:14 <zzz> we'll need some status update from tuna soon, I expect the deadline for propping big stuff for 26 would be late march / 1st week of april
15:26:10 * str4d still doesn't quite understand the CRL stuff, could zzz expand?
15:26:14 <zzz> 25 will have ability to read crls from disk, so we can include in the update
15:26:35 <zzz> but thats not so helpful because in an update we can just remove the cert and that does the same thign
15:26:56 <zzz> so to get crls out to ppl w/o having to do an update, we would put them in the feed
15:26:57 <str4d> I'm just trying to figure out the use case
15:27:09 <zzz> use case is somebody gets compromised
15:27:20 <str4d> Do we still not do cert pinning?
15:27:30 <zzz> no
15:27:56 <zzz> so i've done 90 % of it and just need to stick the crl into the namespace
15:28:46 <zzz> pinning is tricky and dangerous
15:29:05 <zzz> crypto cat did the 'pinning suicide'
15:29:17 <zzz> where they were pinned but an intermediate changed
15:30:49 <zzz> i don't think pinning replaces cls
15:30:51 <zzz> crls
15:31:21 <zzz> crls not just for ssl, there's reseed and update keys
15:31:58 <zzz> can we keep crls on the list for 26 then? it's almost done
15:32:20 <str4d> What I'm concerned re: pinning is that someone could do e.g. a Quantum Insert-like thing to redirect a reseed domain name, and just put up any valid SSL cert satisfying the domain name requirement, and the routers will accept it
15:33:05 <str4d> And re: CRLs, if we use that to disable a particular certificate, what does that certificate get replaced with?
15:33:25 <zzz> nothing. in the next release there would presumably be a replacement
15:33:45 <str4d> This is getting a bit far into the weeds
15:34:07 <str4d> I think where I was going is we need to think this over a bit more
15:34:24 <zzz> ok so let's keep crls for 26 but let's discuss the details on it in the next week or two
15:34:30 <zzz> as it's not 100% clear
15:34:38 <zzz> moving on
15:34:42 <zzz> what else ont he 26 list
15:34:43 <str4d> mmk
15:34:50 <EinMByte> ok
15:35:08 <zzz> subscription protocol
15:35:28 <zzz> this is the key for crypto migration of sites
15:35:40 <EinMByte> hosts.txt replacement or what do you mean?
15:36:22 <zzz> yes this is the hosts.txt as a feed thing, with like foo.i2p=b64#sig=b64#cmd=alt ...
15:36:26 <str4d> EinMByte, amending the addressbook subscription protocol with signed key-value metadata
15:36:49 <zzz> proposal is pretty set, but on hold for 18 months or so
15:37:07 <EinMByte> Sure, although wouldn't the size of the hosts file grow too large
15:38:02 <EinMByte> Maybe add a since parameter, to exclude all hosts inserted before some given time
15:38:07 <EinMByte> (to avoid downloading the whole list even if it's not required)
15:38:22 <zzz> this was originally part of the crypto migration plan but it was hard and wasn't the most important part
15:38:49 <zzz> but it's the main thing remaining on crypto migration of signatures
15:39:26 <str4d> EinMByte, we kinda have that already with etag
15:39:28 <zzz> this is another one of those things that's proposed with a lot of specifics, but haven't quite got agreeement and so havent started
15:39:42 <EinMByte> str4d: Is it used, though?
15:39:46 <str4d> EinMByte, yes
15:40:00 <EinMByte> Oh, nvm. in that case
15:40:03 <str4d> This would be no different to the current setup
15:40:20 <zzz> so we'll on the 26 list and start on it asap. not sure if we can get far enough into it for 26 but I'll try. we need to review the thread on zzz.i2p
15:40:22 <str4d> but instead of domain name entries never repeating, they would now repeat in the "stream"
15:40:42 <EinMByte> Is there a particular reason why we need to keep the weird format, though?
15:41:05 <EinMByte> It would seem easier to me if we just used something standard
15:41:06 <zzz> maybe. compatibility with old clients. but we should review and decide for sure if that's important
15:41:20 <zzz> none have us have looked at this in maybe a year
15:41:28 <zzz> so we'll dust it off and take a looko
15:41:32 <EinMByte> zzz: Compatibily could be handled by also providing the old hosts.txt file for a while
15:41:41 <str4d> There's also the broader issue of what to do with e.g. all the "lost" names
15:41:53 <str4d> But that is outside the current discussion
15:41:57 <zzz> yup. we would also need to get the other impls involved
15:42:18 <EinMByte> str4d: I think that's something to decide on when we get a new naming system (if we ever do)
15:42:26 <str4d> For now, I want some way for currently-active domains to update their dests
15:42:26 <zzz> ok, it's staying on the list for 26 for now. next on the list - sybil stuff
15:42:45 <zzz> can we make sybil be automatic? Have you all read the philip winter paper I hope????
15:42:50 <str4d> And the sooner we get the core code in, the sooner we can turn it on in a year or so
15:43:50 <EinMByte> zzz: What paper? I missed something clearly
15:44:27 <zzz> check @__phw on twitter for link
15:45:02 <zzz> we are working with him thanks to a sadie introduction at ccc
15:45:03 <EinMByte> zzz: this: http://arxiv.org/pdf/1602.07787v1.pdf?
15:45:27 <zzz> if it was published in the last coulple weeks, thats it
15:45:59 <EinMByte> Well, it's an eprint from February this year
15:46:09 <zzz> i don't think we're ready for automatic. they arent really either
15:46:22 <zzz> they just spit out an email once a day to the dirauths
15:46:36 <zzz> it's all heuristic and magic on both sides
15:46:49 <EinMByte> So he probably put the eprint online after it got published
15:46:57 <zzz> so I'd like to push automatic stuff out to later in the year
15:47:07 <str4d> EinMByte, 25 Feb is the version I have
15:47:14 <EinMByte> zzz: So how exactly would that work in a decentralized setting?
15:47:44 <str4d> We need to do things from the bottom-up instead of the top-down
15:48:06 <str4d> ie. each router would need to include "potential Sybil candidates" in the peer profiles
15:48:13 <zzz> EinMByte, I don't know. it's hard
15:48:20 <str4d> based on e.g. online times etc.
15:48:30 <EinMByte> Detecting sybil attacks is doable I think, preventing them based on that detection is very hard in a decentralized network
15:48:30 <EinMByte> But I like the challenge
15:48:34 <zzz> we also need gravy who is working on a centralized redo of his setup
15:48:43 <str4d> There is also the possibility of having some kind of more centralized setup
15:48:45 <str4d> Yah, that
15:48:45 <EinMByte> str4d: At that point you need to start assigning trust to each router
15:48:52 <EinMByte> which itself would be a whole anti-sybil system
15:49:07 <str4d> And having routers subscribe to a list of potential sybils
15:49:07 <zzz> kinda like the dagon proposals
15:49:09 <str4d> EinMByte, that is basically what peer profiles are now though
15:49:31 <str4d> where "trust" is currently defined as "reliably routed well for me in the past"
15:49:42 <EinMByte> str4d: Yes, and they've caused a few attacks so far :)
15:50:15 <str4d> Yep
15:50:23 <EinMByte> Also, peer profiles don't really allow you exclude a peer from the network
15:50:31 <EinMByte> Sybil prevention would sort of allow that
15:50:35 <str4d> Peer profiling and peer selection is another of the things I think needs prioritisation
15:50:46 <str4d> EinMByte, they *can*
15:51:01 <zzz> so i propose to change the 26 sybil item to 'continued improvement' but move the 'automatic' part to later
15:51:01 <str4d> Not right now
15:51:11 <str4d> I'm just saying that is where we would put it
15:51:34 <EinMByte> str4d: Yes, that's possible.
15:51:37 <str4d> (in terms of putting Sybil detection and more advanced techniques into I2P's lexicon and architecture)
15:51:53 <EinMByte> In any case, I would not drop the decentralization. It's the nicest part of I2P imho
15:52:14 <str4d> Yep
15:52:27 <EinMByte> (and centralization also leads to various practical attacks anyway)
15:52:43 <zzz> lets move on. streaming improvements? not sure what that is, maybe just perennial 'make it better' item
15:52:49 <str4d> zzz, yep, we can continue to work on that routerconsole page, and then hook it into the peer profiles and selection once we decide on a strategy
15:53:00 <zzz> i can't think of what there is to do specifically on streaming. anybody?
15:53:01 <EinMByte> Sometimes adding a central authority can make your security proof easy, but cause security failure in practice
15:53:20 <str4d> Research and optimizations would be nice
15:53:28 <EinMByte> zzz: Any obvious improvements we could make there?
15:53:30 <str4d> That would be a good candidate for external research
15:53:46 <zzz> we really need a better test setup
15:53:51 <EinMByte> str4d: I agree.
15:53:55 <zzz> add delays / drops, reorder, etc
15:54:04 <EinMByte> We should probably extend our "open research questions" page with that and other stuff
15:54:40 <zzz> i don't have much blue sky things on my list of streaming stuff. it needs to to be test-result-driven
15:54:50 <EinMByte> There may be more improvement in the allocation of tunnels?
15:55:05 <str4d> zzz, there's some GH project that simulates "The Internet" with containers that can do that IIRC
15:55:08 <zzz> so how about we make this item be 'streaming test harness'
15:55:17 <str4d> Dunno how easy it would be tho, we would need a new JVM per container :P
15:55:25 <str4d> EinMByte, mmm
15:55:48 <EinMByte> str4d: shadow could be used, I think. Not sure if it could be integrated with Java but it's on the kovri TODO list
15:55:52 <str4d> That's not really streaming tho, that is at the datagram level
15:56:22 <zzz> the tunnel allocation thing is psi's idea to have the client pick tunnels
15:56:34 <EinMByte> str4d: Yes, I suspect there's more to optimize this
15:56:46 <EinMByte> zzz: I don't really think users are the best optimization algorithms, but maybe
15:57:10 <zzz> it's a violent corruption of our layering, and I don't see any way to do it. but that's what psi is proposing
15:57:19 <EinMByte> ... or probably "client" does not mean user
15:57:32 <zzz> client == client-side of i2cp
15:57:44 <str4d> The thing there is
15:57:54 <str4d> Tor does provide this ability via their Control Socket
15:57:58 <EinMByte> Ok so it does mean that
15:57:59 <str4d> And it is very useful for researchers
15:58:10 <str4d> But they also have a much flatter architecture
15:58:19 <str4d> Whereas we silo different clients from each other via I2CP
15:58:31 <EinMByte> zzz: I'd expect the router to have more relevant information. The client could pass any additional requirements
15:58:41 <zzz> we also have psi's lua hooks for researchers, that never got merged (either in java or kovri), but is still an option
15:59:14 <zzz> see right now the client side doesn't even know about tunnels, so it certainly doesn't have any ability to pick them
15:59:16 <str4d> Speaking to nickm at RWC, he said it was much easier for Tor to maintain a Control Socket interface than a plugin system
15:59:17 <EinMByte> I know that shadow is being used in practice by researchers
15:59:22 <EinMByte> Lua, I don't know
15:59:55 <EinMByte> zzz: So probably the same thing can be achieved by passing the relevant information over I2CP?
16:00:17 <zzz> 1mb, yes, but it would be really fugly
16:00:44 <str4d> We could always restrict it with a -research flag or something
16:00:54 <str4d> (in router.config)
16:01:06 <str4d> That way most users are not exposed to the fugly
16:01:13 <zzz> kovri/i2pd don't have those rigid API barriers between client/router yet, it's easier for the
16:01:20 <zzz> *them
16:01:28 <str4d> And we can define ".research" from the start to mean "We reserve the right to change these APIs"
16:01:44 <str4d> ie. researchers would need to use the .research flag along with a particular version
16:01:57 <str4d> Back to the actual topic of discussion:
16:01:59 <EinMByte> zzz: Re: tunnels. It depends. I think it would make sense to pass information about the intended usage of the tunnel.
16:02:20 <zzz> (FYI this meeting will go 25 more minutes max, to be continued sunday)
16:02:33 <EinMByte> zzz: It's mainly easier for us because shadow is written in C, I think
16:02:42 <str4d> I think this should be pushed into the "needs more research" category
16:02:44 <zzz> the trouble is its not just your tunnels that need to be picked but the far-end's tunnels
16:02:48 <EinMByte> Ok. Let's move on then.
16:03:08 <zzz> ok that's all that's on the 26 list now. What should be added?
16:03:11 <EinMByte> zzz: Doesn't the far-end handle that
16:03:36 <zzz> no, we source-route (i.e. pick the far-end lease out of it's leaseset for his inbound)
16:04:08 <zzz> look at the 27-29 list. what should be pulled in to 26 if anything?
16:04:44 <str4d> I want to start getting the prep work done for new LSs and the netdb
16:04:46 <zzz> here is where all the 'initial work on xxx for 2017' is, but also lots of 2016 stuff
16:05:23 <EinMByte> zzz: I misunderstood what you meant with far-end, nvm
16:05:31 <str4d> The sooner we get that settled down and into the codebase, the sooner the network will have broad support for it
16:06:42 <EinMByte> Note that we (kovri) want specifications
16:06:52 <EinMByte> Otherwise it will be hard to keep up with the implementation
16:07:31 <zzz> sure. anything that's a new specification, we need to all work on together
16:07:36 <EinMByte> str4d: Let's start by listing what LS2 should actually support
16:07:53 <EinMByte> (if that hasn't already been done)
16:09:40 <zzz> basically ls2 is only a couple of things
16:09:59 <zzz> add some space for flags
16:10:09 <zzz> and enable future crypto
16:10:52 <zzz> but i have all those proposals about better multihoming, plus grothoff-like service lookup
16:11:00 <zzz> anycast
16:11:01 <EinMByte> Do we have specific list somewhere for reference?
16:11:11 <zzz> it's pulled together on zzz, sec
16:11:23 <str4d> EinMByte, I'm slowly working on pulling all that together on the website
16:11:41 <zzz> can we make that faster str4d ? like next week or two?
16:11:47 <str4d> That should go into the .26 list
16:11:50 <str4d> Hmm
16:11:53 <str4d> Possibly
16:11:59 <str4d> I need moar eyes on it
16:11:59 <zzz> without the proposals on a simple list this is way too hard
16:12:08 <EinMByte> str4d: Great. Actually for some of these things a wiki-functionality would be useful
16:12:24 <EinMByte> (idea is that it would go faster)
16:12:48 <zzz> for starters we need a list
16:12:50 <str4d> EinMByte, exactly
16:12:56 <zzz> lets not boil the ocean here
16:13:11 <str4d> I'm trying to move from requiring backend HTML to (currently) rST
16:13:31 <str4d> I need people to look over what I have to check that a) it is usable and b) it doesn't lose anything we currently have
16:13:39 <str4d> Currently it is applied to the spec docs only
16:13:40 <zzz> let's put the proposal thing on the list for 26 and we'll talk later about what that means. But we need forward progress on it asap.
16:13:55 <str4d> But the moment that is solidified, extending it to proposals is trivial
16:13:56 <zzz> i want them on the website. i don't care what form.
16:14:46 <EinMByte> I'm willing to review proposals, but it happens sometimes that I just don't find any text
16:15:10 <EinMByte> (some things on the website are sort of hidden, I think)
16:15:37 <zzz> right
16:16:05 <zzz> we need to move stuff from zzz.i2p to the website in some sort of organization
16:16:13 <EinMByte> str4d: Moving from HTML to something which can be easility converted to various formats is a good thing
16:16:28 <EinMByte> zzz: Yes, absolutely
16:16:35 <str4d> EinMByte, what I need reviewed is in i2p.www.str4d
16:16:36 <EinMByte> Maybe a fixed process for all proposals
16:16:57 <zzz> ok. it's on the list for 26. details to follow. str4d get to work. i wouldn't expect a lot of feedback. Just come up with a new system and we will all fall in line
16:17:02 <str4d> and on http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/
16:17:04 <str4d> EinMByte, if you want to work with me on nailing that down, I could get that finished maybe by .25
16:17:23 <zzz> what else for 26? we gotta wrap this up
16:17:36 <str4d> ( EinMByte, http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/spec specifically)
16:18:14 <zzz> this is very short term stuff. I need to know what to do on monday
16:18:27 <zzz> last call for 26
16:18:41 <str4d> I think the subscriptions stuff will take a while
16:18:49 <str4d> So I'd be happy with that being the main thing
16:18:52 <zzz> agreed.
16:19:54 <zzz> ok. meeting on sunday same time. we will start with vrp/h1. please review ticket 1119 in advance. after that we will talk about 27-29, time permitting.
16:20:06 <EinMByte> str4d: Any of those that you think require most attention?
16:20:27 <zzz> we can also briefly circle back to 26 on sunday if necessary
16:20:43 <str4d> EinMByte, basically deciding whether the format for writing proposals is usable, and whether it limits what ends up on the website (in either HTML or TXT format)
16:20:45 <zzz> so agenda on sunday will be 1) vrp/h1/1119; 2) 26; 3) 27-29
16:20:57 <zzz> thanks everybody
16:21:25 * zzz *bafs* the meeting closed
16:27:50 <EinMByte> str4d: It is probably OK as long as it can be coverted to most other formats :)

View File

@ -0,0 +1,14 @@
I2P dev meeting, March 4, 2016 @ 15:00 UTC
==========================================
Quick recap
-----------
* **Present:**
EinMByte,
orignal\_,
sadie,
str4d,
xcps\_,
zzz

View File

@ -2,11 +2,13 @@
{%- from "global/macros" import render_categories with context -%}
{% block title %}{{ title }} - {{ _('Blog') }}{% endblock %}
{% block content %}
<ul id="post-info" class="lastupdated">
<div class="meta">
<ul id="post-info">
<li class="date">{{ _('Posted:') }} {{ meta.date }}</li>
<li class="author">{{ _('Author:') }} {{ meta.author }}</li>
<li class="category">{{ render_categories(meta.category)|safe }}</li>
</ul>
</div>
{% autoescape false %}
{{ body }}
{% endautoescape %}

View File

@ -1,24 +1,37 @@
{% extends "global/layout.html" %}
{%- from "downloads/macros" import package, package_outer with context -%}
{% set release_signer = 'str4d' %}
{% set release_signer = 'zzz' %}
{% block title %}{{ _('Download') }}{% endblock %}
{% block content_nav %}
<ul>
<li><a href="#windows">Windows</a>
<li><a href="#mac">Mac OS X</a>
<li><a href="#unix">GNU/Linux / BSD / Solaris</a>
<li><a href="#deb">Debian / Ubuntu</a>
<li><a href="#android">Android</a>
<li><a href="#source">{{ _('Source package') }}</a>
<li><a href="#auto">{{ _('Automatic updates') }}</a>
<li><a href="#update-file">{{ _('Manual updates') }}</a>
</ul>
{% endblock %}
{% block content %}
<h3>{{ _('Dependency') }}</h3>
<p>{% trans java='http://java.com/download/',
<p>{% trans java='https://java.com/download/',
openjdk='http://openjdk.java.net/install/',
icedtea='http://icedtea.classpath.org/wiki/Main_Page',
arm8='http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html',
ibmsdk7='http://www.ibm.com/developerworks/java/jdk/linux/download.html',
detectjre='http://java.com/en/download/installed.jsp?detect=jre&amp;try=1' %}
Java Runtime 1.6 or higher.
detectjre='https://java.com/en/download/installed.jsp?detect=jre&amp;try=1' %}
Java Runtime Version 7 or higher.
(<a href="{{ java }}">Oracle</a>,
<a href="{{ openjdk }}">OpenJDK</a>, or
<a href="{{ icedtea }}">IcedTea</a>
Java Version 7 or 8 recommended,
except Raspberry Pi: <a href="{{ arm8 }}">JDK 8 for ARM</a>,
PowerPC: <a href="{{ ibmsdk7 }}">IBM SDK 7</a>)
except Raspberry Pi: <a href="{{ arm8 }}">Oracle JDK 8 for ARM</a>,
PowerPC: <a href="{{ ibmsdk7 }}">IBM Java SE 7 or 8</a>)
<br />
<a href="{{ detectjre }}">Determine your installed Java version here</a>
or type <tt>java -version</tt> at your command prompt.
@ -28,7 +41,7 @@ or type <tt>java -version</tt> at your command prompt.
<h3>{{ _('Release Notes') }}</h3>
<ul><li>
<a href="../blog/">{{ _('Release Notes') }}</a>
<a href="{{ site_url() }}blog/category/release">{{ _('Release Notes') }}</a>
</li><li>
<a href="https://raw.githubusercontent.com/i2p/i2p.i2p/master/history.txt">{{ _('Change Log') }}</a>
</li><li>
@ -87,7 +100,6 @@ or type <tt>java -version</tt> at your command prompt.
{% endcall %}
{% call package('android') %}
<p>&nbsp;</p>
<div class="warning">
{% trans -%}
Requires Android 2.3 (Gingerbread) or higher. If you earlier installed
@ -189,7 +201,7 @@ receive the release.
</div>
{% endcall %}
{% call package('update') %}
{% call package('update-file') %}
<ol>
<li>
{% trans -%}

View File

@ -1,7 +1,7 @@
{% set i2pinstall_windows_hash = '306c0eeb4d0ff210b42cb0a6babe46da59d0f80317451f3fd40381bb79b54852' %}
{% set i2pinstall_jar_hash = '843a8059830b009d10c47cc7c85e260ad88f7c3c16e289bbf80c0eb178318823' %}
{% set i2psource_hash = '24e303f2af1b7b14ed3a6e17cc7d1b6432ec99d8d00246a88486922941c72345' %}
{% set i2pupdate_hash = 'd7f2f2349520071a3d19a4130a83ae1fb109f7924cb1eff5da020678787d3ad3' %}
{% set i2pinstall_windows_hash = '40a9d162b218c3280170b5e6e5e0f459a2c5348c9488222955be5312144eade9' %}
{% set i2pinstall_jar_hash = 'f5a06c4ed7e3c22048eef18901b85baa1f9bed3e507c212700723701036e2bb3' %}
{% set i2psource_hash = '134481ae5ef934a411545330d1b22e768189c424a65db47058db0f7d9cf51e7d' %}
{% set i2pupdate_hash = 'b8ee5d9c88924f631ae03ffcbed4ac0b06542e51cdd144e20dbaad69a8fdcef4' %}
{% set i2p_android_hash = 'b14e3cc5ea12eb2e8bccb81dd2e86eeea3baba6695eb1a9f4d9053e76aeb131d' %}
{% set i2p_android_version = '0.9.22' %}
@ -37,7 +37,7 @@
{%- set filename = 'i2psource_%s.tar.bz2' -%}
{%- set signame = 'i2psource_%s.tar.bz2.sig' -%}
{%- set hash = i2psource_hash -%}
{%- elif type == 'update' -%}
{%- elif type == 'update-file' -%}
{%- set name = _('Manual updates') -%}
{%- set icon = 'images/download/update-manual.png' -%}
{%- set filename = 'i2pupdate_%s.zip' -%}
@ -60,27 +60,14 @@
{% call package_outer(type, name, icon) %}
<div class="file">
{%- if type == 'android' %}
{% trans %}Outside I2P{% endtrans %}:
<!-- do not use url_for here -->
<a class="default" href="https://download.i2p2.de/android/current/i2p.apk">I2P {{ i2p_android_version }}</a>
<br>
{% trans %}Inside I2P{% endtrans %}:
<a class="default" href="https://download.i2p2.de/android/current/i2p.apk">{% trans %}Outside I2P{% endtrans %} ({{ i2p_android_version }})</a>
<!-- do not use i2pconv here -->
<a class="default" href="http://update.killyourtv.i2p/i2p.apk">I2P {{ i2p_android_version_kytv }}</a>
<br>
Google Play:
<a class="default" href="https://play.google.com/store/apps/details?id=net.i2p.android">I2P {{ i2p_android_version }}</a>
<br>
{% trans %}Our F-Droid repository{% endtrans %}:
<a class="default" href="https://f-droid.i2p.io/">I2P {{ i2p_android_version }}</a>
<br>
F-Droid:
<a class="default" href="https://f-droid.org/app/net.i2p.android.router">I2P {{ i2p_android_version_fdroid }}</a>
<br>
{% trans %}Development Builds{% endtrans %}:
{% trans str4durl='http://'+i2pconv('str4d.i2p')+'/android/' -%}
<a class="default" href="{{ str4durl }}">str4d's eepsite</a>
{%- endtrans %}
<a class="default" href="http://update.killyourtv.i2p/i2p.apk">{% trans %}Inside I2P{% endtrans %} ({{ i2p_android_version_kytv }})</a>
<a class="default" href="https://play.google.com/store/apps/details?id=net.i2p.android">Google Play ({{ i2p_android_version }})</a>
<a class="default" href="https://f-droid.i2p.io/">{% trans %}Our F-Droid repository{% endtrans %} ({{ i2p_android_version }})</a>
<a class="default" href="https://f-droid.org/app/net.i2p.android.router">F-Droid ({{ i2p_android_version_fdroid }})</a>
<a class="default" href="{{ 'http://'+i2pconv('str4d.i2p')+'/android/' }}">{% trans %}Development Builds{% endtrans %}</a>
{% else %}
<a class="default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver(filename)) }}">
<span class="name">{{ ver(filename) }}</span><br />
@ -90,8 +77,10 @@
<a class="sig" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver(signame)) }}">sig</a>
{% endif -%}
</div>
<div class="hash">
<code>{{ hash }}</code>
<div class="meta">
<div class="hash">
<code>{{ hash }}</code>
</div>
</div>
{{ details }}
{% endcall %}

View File

@ -4,7 +4,7 @@
<meta http-equiv="refresh" content="5;url={{ url }}" />
{% endblock %}
{% block content %}
<div class="file filedownload">
<div class="meta">
<p>{% trans -%}
Your download will begin shortly. If it doesn't start within 5 seconds, click <a href="{{ url }}">here</a>.
{%- endtrans %}</p>

View File

@ -13,6 +13,7 @@
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/default.css') }}" media="screen, handheld, print, projection" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/mobile.css') }}" media="screen and (min-device-width:320px) and (max-width:767px)" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/desktop.css') }}" title="{{ g.theme }}" media="screen and (min-device-width:768px) and (min-width:768px), print, projection" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/widescreen.css') }}" title="{{ g.theme }}" media="screen and (min-device-width:1120px) and (min-width:1120px), print, projection" />
<!--[if IEMobile]>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/mobile.css') }}" media="screen" />
<![endif]-->
@ -22,6 +23,7 @@
{% if is_rtl() -%}
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/default.rtl.css') }}" media="screen, handheld, print, projection" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/desktop.rtl.css') }}" title="{{ g.theme }}" media="screen and (min-device-width:768px) and (min-width:768px), print, projection" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/widescreen.rtl.css') }}" title="{{ g.theme }}" media="screen and (min-device-width:1120px) and (min-width:1120px), print, projection" />
{%- endif %}
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/' + g.theme + '/syntax.css') }}" media="screen, handheld, print, projection" />
{%- endif %}
@ -49,9 +51,27 @@
<div class="container-fluid{% if not self.content() %} well{% endif %}">
<div id="content">
{% block content_outer %}
<article class="inner">
<div class="title">
<h1>{{ self.title() }}</h1>
</div>
<main role="main" class="inner">
<div class="fluid">
{% if self.content_nav() or self.sidebar() -%}
<aside class="sidebar">
{% if self.content_nav() -%}
<nav{% if self.sidebar() %} class="top"{% endif %}>
{% block content_nav %}{% endblock %}
</nav>
{%- endif %}
{% block sidebar %}{% endblock %}
</aside>
{%- endif %}
<article class="content-inner">
{% if self.lastupdated() or self.accuratefor() -%}
<div class="lastupdated">
<div class="meta">
<!--
{% block lastupdated %}{% endblock %}
{% block accuratefor %}{% endblock %}
@ -72,11 +92,10 @@
</div>
{%- endif %}
<div class="title">
<h1>{{ self.title() }}</h1>
</div>
{% block content %}{% endblock %}
</article>
{% block content %}{% endblock %}
</article>
</div>
</main>
{% endblock %}
</div>
<footer id="global-footer">

View File

@ -70,6 +70,7 @@
</li>
<li><a href="{{ site_url('docs/naming') }}"><div class="menuitem"><span>{{ _('Naming and addressbook') }}</span></div></a></li>
<li><a href="{{ site_url('docs/plugins') }}"><div class="menuitem"><span>{{ _('Plugins') }}</span></div></a></li>
<li><a href="{{ site_url('docs/reseed') }}"><div class="menuitem"><span>{{ _('Reseed') }}</span></div></a></li>
</ul>
</li>
<li><a href="{{ site_url('about/team') }}"><div class="menuitem"><span>{{ _('Team') }}</span></div></a></li>

View File

@ -5,7 +5,8 @@
{%- endblock %}
{% block content %}
<p>{% trans mtgforum='http://'+i2pconv('zzz.i2p')+'/forums/20' -%}
We do not currently have regularly scheduled meetings. Anyone can schedule and
Regularly scheduled project meetings are held on the first Tuesday of every month at 8 PM UTC.
Anyone can schedule and
run a meeting, by posting the agenda in
<a href="{{ mtgforum }}">the meetings forum</a>.
{%- endtrans %}</p>

View File

@ -29,6 +29,18 @@
@string{lncs = "Lecture Notes in Computer Science"}
@article{liu2014,
title = {Empirical Measurement and Analysis of I2P Routers},
author = {Peipeng Liu et al},
journal = {Journal of Networks},
year = {2014},
month = Sep,
volume = {9},
issue = {9},
pages = {2269--2278},
www_section = traffic,
}
@inproceedings{conrad2014,
title = {A Survey on Tor and I2P},
author = {Bernd Conrad and Fatemeh Shirazi},

View File

@ -3,7 +3,7 @@
{% block headextra %}
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles/pubs.css') }}" />
{% endblock %}
{% block content %}
{% block content_nav %}
<div class="biblinks">
<p align="center">
{%- if bib.tag|length %}<a href='{% if bib.field != 'date' -%}
@ -41,14 +41,8 @@
</p>
</div>
<!-- Table 1: contains the sidebar and the body. -->
<table cellspacing="3" cellpadding="0" border="0" align="center" width="100%%">
<tr valign="top">
<td>
<!-- Table 2: The sidebar-->
<table align="right" cellspacing="0" cellpadding="5" width="100"
class="sidebar">
<table align="right" cellspacing="0" cellpadding="5" width="100%">
<tr valign="top"><td><p class="l1"><strong>{{ bib.sectiontypes }}:</strong><br /></p>
{% for section in bib.sections %}
<p class="l2"><a href="#{{ section.slug }}">{{ section.name }}</a></p>
@ -56,10 +50,9 @@
</td>
</tr>
</table><!-- End of table 2 -->
</td>
<td width="85%%">
{% endblock %}
{% block content %}
<h2>Publications by {{ bib.field }}</h2>
<ul class="sections">
@ -73,13 +66,6 @@
{% endfor %}
</ul>
</td>
<td width="5%%"><br /></td>
</tr>
</table><!-- End of table 1 -->
<p class="contact">{% trans email="press&#64;i2<!-- -->p2.de"|safe,
bibtex = get_url('papers_bibtex', tag=bib.tag) if bib.tag else get_url('papers_bibtex'),
citeseer = 'http://citeseer.ist.psu.edu/online-nature01/' -%}

View File

@ -1,12 +1,12 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Hall Of Fame') }}{% endblock %}
{% block content %}
<!-- file version 2014.12.23.01 -->
<b>{% trans date='2014-12-23' -%}
<!-- file version 2015.12.01.01 -->
<b>{% trans date='2015-12-01' -%}
Current balance: as of {{ date }}
{%- endtrans %}</b><br />
<b>{{ _('General fund') }}:
{% trans euroval='44644,32', btcval='537,72784571' %}{{ euroval }} &euro; and {{ btcval }} BTC{% endtrans %}</b><br />
{% trans euroval='38838,28', btcval='516,95196524' %}{{ euroval }} &euro; and {{ btcval }} BTC{% endtrans %}</b><br />
<b><a href="{{ site_url('get-involved/bounties/datastore') }}">{{ _('Datastorage bounty') }}</a>:
{% trans euroval='145.0', btcval='2' %}{{ euroval }} &euro; and {{ btcval }} BTC{% endtrans %}</b><br />
<b><a href="{{ site_url('get-involved/bounties/i2phex') }}">{{ _('I2PHex bounty') }}</a>:
@ -22,15 +22,15 @@ Current balance: as of {{ date }}
<b>{{ _('Bounty I2P for CCR Microtic Board') }}: 10 &euro;</b><br />
<br />
<b>{{ _('Current monthly running costs:') }}</b><br />
<b>{{ _('Current running costs:') }}</b><br />
<table border="1">
<tr>
<td>Welterde</td>
<td>8 &euro;/mo, since January, 2008 - i2p2.de</td>
<td>EUServ root server</td>
<td>660 &euro;/year, since January, 2015</td>
</tr>
<tr>
<td>eche|on</td>
<td>40 &euro;/mo since January, 2008 - i2p-projekt.de and domains</td>
<td>71,40 &euro;/year since January, 2013 - i2p-projekt.de and domains</td>
</tr>
</table>
<p>{% trans %}Big thanks go to the following people who have donated to I2P!{% endtrans %}</p>
@ -41,10 +41,146 @@ with your name or nick (and optionally homepage) so we can list you here.
<b>{{ _('Current monthly subscriptions:') }}</b><br />
<table border="1">
<tr><td>07/2014-07/2015</td><td>JULLIAN David</td><td>10 &euro;</td><td>{{ _('General fund') }}</td></tr>
<tr><td>09/2015-08/2016</td><td>Alex</td><td>20 &euro;</td><td>{{ _('General fund') }}</td></tr>
</table>
<br />
<b>{{ _('2015 donations and costs:') }}</b><br />
<table border="1">
<tr><td>date</td><td>who</td><td>income</td><td>outgoing</td><td>account</td></tr>
<tr><td>Jan, 2015</td><td>donation</td><td></td><td>569 &euro;</td><td>Sponge</td></tr>
<tr><td>Jan, 2015</td><td>anonymous</td><td>90 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jan, 2015</td><td>Support Meeh</td><td></td><td>500 &euro;</td><td>general fund</td></tr>
<tr><td>Jan, 2015</td><td>Support echelon</td><td></td><td>300 &euro;</td><td>general fund</td></tr>
<tr><td>Jan, 2015</td><td>EUServ Rootserver</td><td></td><td>660 &euro;</td><td>general fund</td></tr>
<tr><td>Jan, 2015</td><td>zzz Win 8.1 laptop</td><td></td><td>210,13 &euro;</td><td>general fund</td></tr>
<tr><td>Jan, 2015</td><td>anonymous</td><td>0.04 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jan, 2015</td><td>KyTv services</td><td></td><td>2.8 BTC</td><td>General fund</td></tr>
<tr><td>Jan, 2015</td><td>dg services</td><td></td><td>0.4 BTC</td><td>General fund</td></tr>
<tr><td>Feb, 2015</td><td>donation JJE</td><td>50 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Feb, 2015</td><td>Sending Stickers</td><td></td><td>21,80 &euro;</td><td>general fund</td></tr>
<tr><td>Feb, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Feb, 2015</td><td>anonymous</td><td>0,89 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Feb, 2015</td><td>donation anonotaku18</td><td>10,51 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Feb, 2015</td><td>anonymous</td><td>0.05 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Mar, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Mar, 2015</td><td>Domain i2pproject.net</td><td></td><td>11,9 &euro;</td><td>general fund</td></tr>
<tr><td>Mar, 2015</td><td>Domain i2pproject,syndie</td><td></td><td>59,5 &euro;</td><td>general fund</td></tr>
<tr><td>Mar, 2015</td><td>anonymous</td><td>70 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Mar, 2015</td><td>Support Postman</td><td></td><td>500 &euro;</td><td>general fund</td></tr>
<tr><td>Mar, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Mar, 2015</td><td>anonymous</td><td>0.01 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>anonymous</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>Sending Stickers</td><td></td><td>9,90 &euro;</td><td>general fund</td></tr>
<tr><td>Apr, 2015</td><td>anonymous</td><td>5 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>Hottuna Rasperry Pi 2</td><td></td><td>56 &euro;</td><td>general fund</td></tr>
<tr><td>Apr, 2015</td><td>anonymous</td><td>0.1 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>anonymous</td><td>0.0773 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Apr, 2015</td><td>dg Rasperry Pi 2</td><td></td><td>0.25 BTC</td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>Leonardo</td><td>14 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>anonymous</td><td>15 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>anonymous</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>pcboy</td><td>15 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2015</td><td>anonymous</td><td>0.00325375 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>Sending Stickers</td><td></td><td>21,80 &euro;</td><td>general fund</td></tr>
<tr><td>Jun, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>Stian Berger</td><td>60 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>Sending Stickers</td><td></td><td>21,80 &euro;</td><td>general fund</td></tr>
<tr><td>Jun, 2015</td><td>TShirts I2P Con Toronto 2015</td><td></td><td>162 &euro;</td><td>general fund</td></tr>
<tr><td>Jun, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>travel support I2Pcon</td><td></td><td>6 BTC</td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>travel support I2Pcon</td><td></td><td>1 BTC</td><td>General fund</td></tr>
<tr><td>Jun, 2015</td><td>anonymous</td><td>0.0488 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.00485993 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>travel support I2Pcon</td><td></td><td>1.5 BTC</td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.00581971 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.04 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.00839704 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.01884516 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.01714 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.005 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Jul, 2015</td><td>anonymous</td><td>0.01701606 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>15 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>stickers</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>15 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>stickers</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>20 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>stickers</td><td>19 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>MasterCard Red buying costs</td><td></td><td>33 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>MC Red filling cost</td><td></td><td>11,40 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>Toronto I2Pcon spents: sweets,HackLab rent,misc</td><td></td><td>400 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>Toronto spents from MC Red: dinner,drinks</td><td></td><td>553,62 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>Toronto travel support</td><td></td><td>1200 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>3 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>Sending Stickers</td><td></td><td>9,90 &euro;</td><td>general fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>0.11211 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Aug, 2015</td><td>anonymous</td><td>0.0059006 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>susbarbatus</td><td>35 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>anonymous</td><td>0.02387285 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>anonymous</td><td>1 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>anonymous</td><td>0.01 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Sep, 2015</td><td>anonymous</td><td>0.1 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>ComeIn3s</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>anonymous</td><td>4,13 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>anonymous</td><td>0.01 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>anonymous</td><td>0.01266157 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>32C3 travel support</td><td></td><td>9.2434 BTC</td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>dg Android tablet</td><td></td><td>0.4366 BTC</td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>anonymous</td><td>0.03037511 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Oct, 2015</td><td>anonymous</td><td>0.495 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Nov, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Nov, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Nov, 2015</td><td>MC Red filling costs</td><td></td><td>7,92 &euro;</td><td>general fund</td></tr>
<tr><td>Nov, 2015</td><td>32C3 tickets</td><td></td><td>270 &euro;</td><td>general fund</td></tr>
<tr><td>Nov, 2015</td><td>ComeIn3s</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Nov, 2015</td><td>32C3 tickets</td><td></td><td>90 &euro;</td><td>general fund</td></tr>
<tr><td>Nov, 2015</td><td>RWC 2016 support</td><td></td><td>1.45 BTC</td><td>General fund</td></tr>
<tr><td>Dec, 2015</td><td>Alex</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
</table>
We do accept Monero as donations, too. Currently no income.
<br />
<br />
<b>{{ _('2014 donations and costs:') }}</b><br />
<table border="1">
<tr><td>date</td><td>who</td><td>income</td><td>outgoing</td><td>account</td></tr>
@ -151,7 +287,13 @@ with your name or nick (and optionally homepage) so we can list you here.
<tr><td>Dec, 2014</td><td>donation Eol</td><td>20 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>donation ratsmack</td><td>20 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>donation</td><td>50 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>May, 2014</td><td>anonymous</td><td>5 BTC</td><td></td><td>Sponge</td></tr>
<tr><td>Dec, 2014</td><td>anonymous</td><td>5 BTC</td><td></td><td>Sponge</td></tr>
<tr><td>Dec, 2014</td><td>donation</td><td>2 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>donation JULLIAN David</td><td>10 &euro;</td><td></td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>I2P on 31C3 costs</td><td></td><td>1257 &euro;</td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>PayPal fees 2014</td><td></td><td>121,9 &euro;</td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>anonymous</td><td>0.01579829 BTC</td><td></td><td>General fund</td></tr>
<tr><td>Dec, 2014</td><td>anonymous</td><td>0.04728000 BTC</td><td></td><td>General fund</td></tr>
</table>
Also we did got some donations of LTC. Current state is 703.981 LTC. For more

View File

@ -1,5 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Presentations on I2P') }}{% endblock %}
{% block lastupdated %}January 2016{% endblock %}
{% block content %}
<p>{% trans papers=site_url('papers') -%}
Following are links to presentations, videos, and tutorials about I2P. Links to research papers on I2P are available <a href="{{ papers }}">here</a>.
@ -105,6 +106,19 @@ Blair Dick, University of Abertay, Dundee Ethical Hacking Society, January 25, 2
Toronto, August 15-16, 2015
{%- endtrans %}</li>
<li>{% trans link='https://download.i2p2.de/media/ccc/2015/I2P_Still_alive.pdf' -%}
<a href="{{ link }}">I2P - Still alive!</a>
echelon, 32C3 Hamburg, December 28, 2015
{%- endtrans %}</li>
<li>{% trans link='https://download.i2p2.de/media/rwc/2016/rwc2016-str4d-slides.pdf',
link2='https://download.i2p2.de/media/rwc/2016/rwc2016-str4d-slides.odp' -%}
Replacing Weary Crypto: Upgrading the I2P network with stronger primitives
<a href="{{ link }}">(pdf)</a>
<a href="{{ link2 }}">(odp)</a>
str4d, Real World Crypto, Stanford, January 8, 2016
{%- endtrans %}</li>
</ul>
<h2>{{ _('Tutorials') }}</h2>
@ -190,8 +204,9 @@ Lance James (0x90) Interviewed by El País
October 31, 2002.
{%- endtrans %}</li>
<li>{% trans link='http://www.businessweek.com/magazine/content/03_37/b3849089_mz063.htm' -%}
<li>{% trans link='http://www.bloomberg.com/bw/stories/2003-09-14/the-underground-internet' -%}
<a href="{{ link }}">2003 Business Week article referencing invisiblenet</a>
September 14, 2003.
{%- endtrans %}</li>
<li>{% trans link='http://www.netzwelt.de/news/75371-i2p-das-anonyme-netz-im.html' -%}
@ -223,6 +238,16 @@ November 11, 2011.
February 16, 2012
{%- endtrans %}</li>
<li>{% trans mp3='http://traffic.libsyn.com/brakeingsecurity/2015-010-I2P_dev_interview.mp3' -%}
<a href="{{ mp3 }}">Jeff and Str4d interviewed on the Brakeing Down Security Podcast Ep. 2015-010 (mp3)</a>
Part 1, February 28, 2015
{%- endtrans %}</li>
<li>{% trans mp3='http://traffic.libsyn.com/brakeingsecurity/2015-011-part2-i2p.mp3' -%}
<a href="{{ mp3 }}">Jeff and Str4d interviewed on the Brakeing Down Security Podcast Ep. 2015-011 (mp3)</a>
Part 2, March 6, 2015
{%- endtrans %}</li>
</ul>
<h2>{{ _('Other') }}</h2>

View File

@ -1,5 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('I2P Project Members') }}{% endblock %}
{% block lastupdated %}January 2016{% endblock %}
{% block content %}
<p>{% trans volunteer=site_url('get-involved') -%}
We are a small group of people spread around several continents, working to
@ -10,7 +11,7 @@ network.
<table border="0">
<tr>
<td valign="top" rowspan="27"><b>{{ _('Admin') }}</b></td>
<td valign="top" rowspan="29"><b>{{ _('Admin') }}</b></td>
<td valign="top"><b>{{ _('Project Manager') }}</b></td>
<td valign="top">zzz</td>
<td valign="top"><i>{{ _('point of contact of last resort') }}</i></td>
@ -22,7 +23,7 @@ network.
</tr>
<tr>
<td valign="top"><b>{{ _('PR manager') }}</b></td>
<td valign="top">psi</td>
<td valign="top">Sadie</td>
<td valign="top"><i>{{ _('press contact, manages public relations and affairs') }}</i></td>
</tr>
<tr>
@ -30,6 +31,11 @@ network.
<td valign="top">Meeh</td>
<td valign="top"><i>{{ _('Public speaking, public relations assistance') }}</i></td>
</tr>
<tr>
<td valign="top"><b>{{ _('Technical PR advisor') }}</b></td>
<td valign="top">psi</td>
<td valign="top"><i>{{ _('Public relations assistance') }}</i></td>
</tr>
<tr>
<td valign="top"><b>{% trans forum=i2pconv('forum.i2p') %}<a href="http://{{ forum }}/">Forum</a> admin{% endtrans %}</b></td>
<td valign="top">cervantes</td>
@ -65,6 +71,11 @@ network.
<td valign="top">zzz</td>
<td valign="top"><i>{{ _('Builds and signs the releases') }}</i></td>
</tr>
<tr>
<td valign="top"><b>{{ _('Release Manager Alternates') }}</b></td>
<td valign="top">eche|on, kytv, str4d</td>
<td valign="top"><i>{{ _('Backup release managers') }}</i></td>
</tr>
<tr>
<td valign="top"><b>{{ _('Update admin') }}</b></td>
<td valign="top">KillYourTV</td>

View File

@ -23,7 +23,7 @@ either protocol may be carried by either transport.
{%- endtrans %}</p>
<h2>{% trans %}Application Guide{% endtrans %}</h2>
<p>{% trans url='http://docs.i2p-projekt.de/javadoc/net/i2p/client/datagram/package-summary.html',
<p>{% trans url='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/datagram/package-summary.html',
sam= site_url('docs/api/sam'),
socks=site_url('docs/api/socks') -%}
Applications written in Java may use the
@ -70,7 +70,7 @@ Applications may add 'from' and 'to' ports to the I2CP (gzip) header as describe
the <a href="{{ i2cp }}#format">I2CP page</a>.
{%- endtrans %}</p>
<p>{% trans i2psession='http://docs.i2p-projekt.de/javadoc/net/i2p/client/I2PSession.html' -%}
<p>{% trans i2psession='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/I2PSession.html' -%}
There is no method within the datagram API to specify whether it is non-repliable (raw)
or repliable. The application should be designed to expect the appropriate type.
The I2CP protocol number or port should be used by the application to
@ -82,8 +82,8 @@ use signed datagrams for a request which includes a nonce, and use a raw datagra
for the reply, returning the nonce from the request.
{%- endtrans %}</p>
<p>{% trans i2psession='http://docs.i2p-projekt.de/javadoc/net/i2p/client/I2PSession.html',
i2psessionmuxed='http://docs.i2p-projekt.de/javadoc/net/i2p/client/I2PSessionMuxedImpl.html' -%}
<p>{% trans i2psession='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/I2PSession.html',
i2psessionmuxed='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/I2PSessionMuxedImpl.html' -%}
The protocols and ports may be set in I2CP's
<a href="{{ i2psession }}">I2PSession API</a>,
as implemented in

View File

@ -204,6 +204,19 @@ Parameters are only provided in a named way (maps).
<li>RestartNeeded &ndash; [boolean] {% trans %}Is a restart needed for the new settings to be used.{% endtrans %}</li>
</ul>
</ul>
<ul>AdvancedSettings &ndash; {% trans %}Allows for manipulation of advanced i2p settings{% endtrans %}
<ul>{{ _('Set:') }} &ndash; {% trans %}Set the sent key-value pairs{% endtrans %}
<li>{"setting-key": "setting-value", ...} &ndash; [Map<String, String>]</li>
</ul>
<ul>{{ _('SetAll:') }} &ndash; {% trans %}Set the sent key-value pairs, remove everything else{% endtrans %}
<li>{"setting-key": "setting-value", ...} &ndash; [Map<String, String>]</li>
</ul>
<ul>{{ _('Get:') }} &ndash; {% trans %}Set the sent key-value pairs, remove everything else{% endtrans %}
<li>"setting-key" &ndash; [String]</li>
</ul>
<ul>{{ _('GetAall:') }}
</ul>
</ul>
<p>* {% trans %}denotes an optional value.{% endtrans %}</p>
<p>** {% trans %}denotes a possibly occuring return value{% endtrans %}</p>

View File

@ -1,12 +1,8 @@
{% extends "global/layout.html" %}
{% block title %}I2PTunnel{% endblock %}
{% block lastupdated %}January 2016{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<!--Description of i2ptunnel and tunneling modes
default services
client modes
server modes
-->
<h2 id="overview">{% trans %}Overview{% endtrans %}</h2>
<p>{% trans naming=site_url('docs/naming') -%}
@ -69,20 +65,28 @@ in a HTTP request. Supports proxying onto internet if an outproxy is provided. S
{%- endtrans %}</p>
<ul>
<li>{% trans -%}
<b>Accept, Accept-Charset, Accept-Encoding, Accept-Language
<b>Accept, Accept-Charset, Accept-Language
and Accept-Ranges</b> as they vary greatly between browsers and can be used as an identifier.
{%- endtrans %}</li>
<li><b>Referer:</b></li>
<li><b>Via:</b></li>
<li><b>From:</b></li>
</ul>
<p>{% trans -%}
HTTP client/server tunnels are via I2Ptunnel force-enabling compression via the following http headers:
{%- endtrans %}</p>
<p>
The i2ptunnel compression is requested with the HTTP header:
</p>
<ul>
<li><b>Accept-Encoding: </b></li>
<li><b>X-Accept-Encoding: </b> x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0</li>
</ul>
<p>
The response indicating i2ptunnel compression contains the following HTTP header:
</p>
<ul>
<li><b>Content-Encoding: </b> x-i2p-gzip</li>
</ul>
<p>{% trans -%}
Depending on if the tunnel is using an outproxy or not it will append the following User-Agent:
{%- endtrans %}</p>
@ -92,23 +96,43 @@ Depending on if the tunnel is using an outproxy or not it will append the follow
</ul>
</p>
<h3 id="client-mode-irc">IRC</h3>
<h3 id="client-mode-irc">IRC Client</h3>
<p>{% trans -%}
Creates a connection to a random IRC server specified by the comma seprated (", ")
list of destinations. Only a whitelisted subset of IRC commands are allowed due to anonymity concerns.
{%- endtrans %}
The following whitelist is for commands inbound from the IRC server to the IRC client.
<br>{% trans %}Whitelist:{% endtrans %}</p>
<ul>
<li>MODE</li>
<li>JOIN</li>
<li>NICK</li>
<li>QUIT</li>
<li>PART</li>
<li>WALLOPS</li>
<li>AUTHENTICATE</li>
<li>CAP</li>
<li>ERROR</li>
<li>KICK</li>
<li>H</li>
<li>JOIN</li>
<li>KICK</li>
<li>MODE</li>
<li>NICK</li>
<li>PART</li>
<li>PING</li>
<li>PROTOCTL</li>
<li>QUIT</li>
<li>TOPIC</li>
<li>WALLOPS</li>
</ul>
<p>
There is also a whitelist is for commands outbound from the IRC client to the IRC server.
It is quite large due to the number of IRC administrative commands.
See the IRCFilter.java source for details.
The outbound filter also modifies the following commands to strip identifying information:
</p>
<ul>
<li>NOTICE</li>
<li>PART</li>
<li>PING</li>
<li>PRIVMSG</li>
<li>QUIT</li>
<li>USER</li>
</ul>
<h3 id="client-mode-socks">SOCKS 4/4a/5</h3>
@ -156,7 +180,7 @@ capabilities. An example application would be a web application that does client
requests, or loopback-testing an eepsite as a diagnostic tool.
{%- endtrans %}</p>
<h3 id="server-mode-irc">IRC</h3>
<h3 id="server-mode-irc">IRC Server</h3>
<p>{% trans -%}
Creates a destination that filters the reqistration sequence of a client and passes
the clients destination key as a hostname to the IRC-server.

View File

@ -4,7 +4,7 @@
<h2>{% trans %}Note{% endtrans %}</h2>
<p>{% trans streaming=site_url('docs/api/streaming'), api='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html' -%}
<p>{% trans streaming=site_url('docs/api/streaming'), api='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/package-summary.html' -%}
The ministreaming library has been enhanced and extended by the
"full" <a href="{{ streaming }}">streaming library</a>.
Ministreaming is deprecated and is incompatible with today's applications.
@ -42,7 +42,7 @@ messages sent (or include any application level ACK or SACK), so it must wait
on average twice the time it takes to send a message before sending another.
{%- endtrans %}</p>
<p>{% trans api='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html',
<p>{% trans api='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/package-summary.html',
samv3=site_url('docs/api/samv3') -%}
Even with those issues, the ministreaming library performs quite well in many
situations, and its <a href="{{ api }}">API</a>

View File

@ -389,7 +389,7 @@ followed by the <a href="{{ site_url('docs/spec/common-structures') }}#type_Priv
followed by the <a href="{{ site_url('docs/spec/common-structures') }}#type_SigningPrivateKey">Signing Private Key</a>,
which is 884 or more base 64 characters (663 or more bytes in binary),
depending on signature type.
The binary format is specified in <a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/PrivateKeyFile.html">Private Key File</a>.
The binary format is specified in <a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/PrivateKeyFile.html">Private Key File</a>.
----------------------------------------------------------------------
RESULT values

View File

@ -446,7 +446,7 @@ followed by the <a href="{{ site_url('docs/spec/common-structures') }}#type_Priv
followed by the <a href="{{ site_url('docs/spec/common-structures') }}#type_SigningPrivateKey">Signing Private Key</a>,
which is 884 or more base 64 characters (663 or more bytes in binary),
depending on signature type.
The binary format is specified in <a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/PrivateKeyFile.html">Private Key File</a>.
The binary format is specified in <a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/PrivateKeyFile.html">Private Key File</a>.
----------------------------------------------------------------------
RESULT values

File diff suppressed because it is too large Load Diff

View File

@ -65,11 +65,11 @@ streaming library, to be interpreted by I2CP.
{%- endtrans %}</p>
<p>{% trans i2cp=site_url('docs/protocol/i2cp'),
i2psktmf='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/I2PSocketManagerFactory.html',
i2psktm='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/I2PSocketManager.html',
i2psess='http://docs.i2p-projekt.de/javadoc/net/i2p/client/I2PSession.html',
i2pskt='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/I2PSocket.html',
i2psskt='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/I2PServerSocket.html' -%}
i2psktmf='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/I2PSocketManagerFactory.html',
i2psktm='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/I2PSocketManager.html',
i2psess='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/I2PSession.html',
i2pskt='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/I2PSocket.html',
i2psskt='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/I2PServerSocket.html' -%}
The standard interface to the streaming lib is for the application to use the
<a href="{{ i2psktmf }}">I2PSocketManagerFactory</a> to create an
<a href="{{ i2psktm }}">I2PSocketManager</a>. The application then asks the
@ -79,7 +79,7 @@ can then setup connections with an <a href="{{ i2pskt }}">I2PSocket</a> or
receive connections with an <a href="{{ i2psskt }}">I2PServerSocket</a>.
{%- endtrans %}</p>
<p>{% trans url='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html' -%}
<p>{% trans url='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/package-summary.html' -%}
Here are the <a href="{{ url }}">full streaming library Javadocs</a>.
{%- endtrans %}</p>
@ -89,7 +89,7 @@ For a good example of usage, see the i2psnark code.
<h3 id="options">{% trans %}Options and Defaults{% endtrans %}</h3>
<p>{% trans i2psktmf='http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/I2PSocketManagerFactory.html' -%}
<p>{% trans i2psktmf='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/streaming/I2PSocketManagerFactory.html' -%}
The options and current default values are listed below.
Options are case-sensitive and may be set for the whole router, for a particular client, or for an individual socket on a
per-connection basis.

View File

@ -336,7 +336,7 @@ as is done in our Java packages.
As always, state management is the difficult part.
{%- endtrans %}</p>
<p>
See also: <a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/Router.html">the Router javadocs</a>.
See also: <a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/router/Router.html">the Router javadocs</a>.
</p>
{% endblock %}

View File

@ -1,10 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Supported Applications{% endtrans %}{% endblock %}
{% block content %}
<h1 class="title">{% trans %}Supported Applications{% endtrans %}</h1>
<div id="TOC">
{% block content_nav %}
<ul>
<li><a href="#blogging-and-forums">{% trans %}Blogging, Forums, and Wikis{% endtrans %}</a></li>
@ -80,8 +76,9 @@
</ul>
</li>
</ul>
</div>
{% endblock %}
{% block content %}
<p>{% trans trac='https://trac.i2p2.de/report/1' -%}
This is intended to be a comprehensive listing of applications used with
I2P. If you know of something that's missing please submit a ticket on

View File

@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}ElGamal/AES + SessionTag Encryption{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}March 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.12{% endblock %}
{% block lastupdated %}{% trans %}January 2016{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<h2>{% trans %}Overview{% endtrans %}</h2>
<p>{% trans -%}
@ -180,7 +180,8 @@ and the encrypted block is 514 bytes long.
<p>{% trans -%}
The unencrypted data in the AES block contains the following:
{%- endtrans %}</p>
<pre>
{% highlight lang='dataspec' %}
+----+----+----+----+----+----+----+----+
|tag count| |
+----+----+ +
@ -220,42 +221,38 @@ The unencrypted data in the AES block contains the following:
+----+----+----//---+----+ +
| Padding to 16 bytes |
+----+----+----+----+----+----+----+----+
{% endhighlight %}
tag count: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
2-byte <a href="{{ commonstructures }}#type_Integer">Integer</a>, 0-200
{%- endtrans %}
<h4>Definition</h4>
{% highlight lang='dataspec' %}
tag count:
2-byte `Integer`, 0-200
Session Tags: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
That many 32-byte <a href="{{ commonstructures }}#type_SessionTag">Session Tags</a>
{%- endtrans %}
Session Tags:
That many 32-byte `SessionTag`s
payload size: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
4-byte <a href="{{ commonstructures }}#type_Integer">Integer</a>
{%- endtrans %}
payload size:
4-byte `Integer`
Payload Hash: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
The 32-byte <a href="{{ commonstructures }}#type_Hash">SHA256 Hash</a> of the payload
{%- endtrans %}
Payload Hash:
The 32-byte SHA256 `Hash` of the payload
flag: {% trans -%}
flag:
A one-byte value. Normally == 0. If == 0x01, a Session Key follows
{%- endtrans %}
New Session Key: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
A 32-byte <a href="{{ commonstructures }}#type_SessionKey">Session Key</a>,
New Session Key:
A 32-byte `SessionKey`,
to replace the old key, and is only present if preceding flag is 0x01
{%- endtrans %}
Payload: {% trans %}the data{% endtrans %}
Payload: the data
Padding: {% trans -%}
Padding:
Random data to a multiple of 16 bytes for the total length.
May contain more than the minimum required padding.
{%- endtrans %}
{% endhighlight %}
{% trans %}Minimum length: 48 bytes{% endtrans %}
</pre>
<p>{% trans cryptography=site_url('docs/how/cryptography') -%}
The data is then <a href="{{ cryptography }}">AES Encrypted</a>,
@ -287,7 +284,8 @@ ElGamal block.
The existing session message is
as follows:
{%- endtrans %}</p>
<pre>
{% highlight lang='dataspec' %}
+----+----+----+----+----+----+----+----+
| |
+ +
@ -305,15 +303,17 @@ as follows:
+ +
| |
+----+----+----+----+----+----+----+----+
{% endhighlight %}
Session Tag: {% trans commonstructures=site_url('docs/spec/common-structures') -%}
A 32-byte <a href="{{ commonstructures }}#type_SessionTag">Session Tag</a>
<h4>Definition</h4>
{% highlight lang='dataspec' %}
Session Tag:
A 32-byte `SessionTag`
previously delivered in an AES block
{%- endtrans %}
AES Encrypyted Block: {% trans %}As specified <a href="#aes">above</a>.{% endtrans %}
AES Encrypyted Block: As specified above.
{% endhighlight %}
</pre>
<p>{% trans -%}
The session tag also serves as

View File

@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}The Network Database{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}Nov. 2015{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.23{% endblock %}
{% block lastupdated %}{% trans %}February 2016{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<h2>{% trans %}Overview{% endtrans %}</h2>
@ -36,6 +36,8 @@ as the key. The structure itself contains:
<li>{% trans %}The signature of the above, generated by the identity's signing key{% endtrans %}</li>
</ul>
<h3>{% trans %}Expected Options{% endtrans %}</h3>
<p>{% trans -%}
The following text options, while not strictly required, are expected
to be present:
@ -62,7 +64,7 @@ For compatibility with older routers, a router may publish multiple bandwidth le
</li>
<li><b>coreVersion</b>
({% trans %}The core library version, always the same as the router version{% endtrans %})
(Unused, scheduled to be removed soon)
(Never used, scheduled to be removed in release 0.9.24)
</li>
<li><b>netId</b> = 2
({% trans %}Basic network compatibility - A router will refuse to communicate with a peer having a different netId{% endtrans %})
@ -72,8 +74,8 @@ For compatibility with older routers, a router may publish multiple bandwidth le
</li>
<li><b>stat_uptime</b> = 90m
({% trans %}Always sent as 90m, for compatibility with an older scheme where routers published their actual uptime,
and only sent tunnel requests to peers whose was more than 60m{% endtrans %})
(Unused, scheduled to be removed soon)
and only sent tunnel requests to peers whose uptime was more than 60m{% endtrans %})
(Unused since version 0.7.9, scheduled to be removed in release 0.9.24)
</li>
</ul>
@ -86,6 +88,7 @@ Above the minimum threshold, the advertised bandwidth is not used or trusted any
in the router, except for display in the user interface and for debugging and network analysis.
{%- endtrans %}</p>
<h3>{% trans %}Additional Options{% endtrans %}</h3>
<p>{% trans stats=i2pconv('stats.i2p') -%}
Additional text options include
@ -113,12 +116,33 @@ As the network has matured, we have gradually removed most of the published
statistics to improve anonymity, and we plan to remove more in future releases.
{%- endtrans %}</p>
<p>
<a href="{{ site_url('docs/spec/common-structures') }}#struct_RouterInfo">{% trans %}RouterInfo specification{% endtrans %}</a>
</p>
<p>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/RouterInfo.html">{% trans %}RouterInfo Javadoc{% endtrans %}</a>
</p>
<h3>{% trans %}Family Options{% endtrans %}</h3>
<p>{% trans -%}
As of release 0.9.24, routers may declare that they are part of a "family", operated by the same entity.
Multiple routers in the same family will not be used in a single tunnel.
{%- endtrans %}</p>
<p>{% trans -%}
The family options are:
{%- endtrans %}</p>
<ul>
<li><b>family</b>
({% trans %}The family name{% endtrans %})
</li>
<li><b>family.key</b>
The signature type code of the family's
<a href="{{ site_url('docs/spec/common-structures') }}#type_SigningPublicKey">Signing Public Key</a>
(in ASCII digits)
concatenated with ':'
concatenated with the Signing Public Key in base 64
</li>
<li><b>family.sig</b>
The signature of ((family name in UTF-8) concatenated with (32 byte router hash)) in base 64
</li>
</ul>
<h3>{% trans %}RouterInfo Expiration{% endtrans %}</h3>
<p>{% trans -%}
@ -156,6 +180,15 @@ RouterInfos are periodically written to disk so that they are available after a
{%- endtrans %}</p>
<h3>{% trans %}See Also{% endtrans %}</h3>
<p>
<a href="{{ site_url('docs/spec/common-structures') }}#struct_RouterInfo">{% trans %}RouterInfo specification{% endtrans %}</a>
</p>
<p>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/RouterInfo.html">{% trans %}RouterInfo Javadoc{% endtrans %}</a>
</p>
<h2 id="leaseSet">LeaseSet</h2>
<p>{% trans -%}
@ -189,9 +222,9 @@ In addition to these leases, the LeaseSet includes:
<a href="{{ site_url('docs/spec/common-structures') }}#struct_LeaseSet">{% trans %}LeaseSet specification{% endtrans %}</a>
</p>
<p>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/Lease.html">{% trans %}Lease Javadoc{% endtrans %}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Lease.html">{% trans %}Lease Javadoc{% endtrans %}</a>
<br />
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/LeaseSet.html">{% trans %}LeaseSet Javadoc{% endtrans %}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/LeaseSet.html">{% trans %}LeaseSet Javadoc{% endtrans %}</a>
</p>

View File

@ -63,7 +63,7 @@ See <a href="#notes">below</a> for notes on minor changes since the paper was pu
{%- endtrans %}</p>
<h2>{% trans %}Profiles{% endtrans %}</h2>
<p>{% trans url='http://docs.i2p-projekt.de/javadoc/net/i2p/router/peermanager/PeerProfile.html' -%}
<p>{% trans url='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/router/peermanager/PeerProfile.html' -%}
Each peer has a set of data points collected about them, including statistics
about how long it takes for them to reply to a network database query, how
often their tunnels fail, and how many new peers they are able to introduce
@ -142,7 +142,7 @@ speed calculation meets or exceeds the median of all peers.
<li>{% trans %}A peer is considered "standard" if it is not "high capacity"{% endtrans %}</li>
</ul>
<p>{% trans url='http://docs.i2p-projekt.de/javadoc/net/i2p/router/peermanager/ProfileOrganizer.html' -%}
<p>{% trans url='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/router/peermanager/ProfileOrganizer.html' -%}
These groupings are implemented in the router's
<a href="{{ url }}">ProfileOrganizer</a>.
{%- endtrans %}</p>

View File

@ -1,26 +1,22 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Introducing I2P{% endtrans %}{% endblock %}
{% block title %}{% trans %}I2P: A scalable framework for anonymous communication{% endtrans %}{% endblock %}
{% block content_nav %}
<ul>
<li><a href="#intro">{% trans %}Introduction{% endtrans %}</a></li>
<li>
<a href="#op">{% trans %}I2P Operation{% endtrans %}</a>
<ul>
<li><a href="#op.overview">{% trans %}Overview{% endtrans %}</a></li>
<li><a href="#op.tunnels">{% trans %}Tunnels{% endtrans %}</a></li>
<li><a href="#op.netdb">{% trans %}Network Database{% endtrans %}</a></li>
<li><a href="#op.transport">{% trans %}Transport protocols{% endtrans %}</a></li>
<li><a href="#op.crypto">{% trans %}Cryptography{% endtrans %}</a></li>
</ul>
</li>
</ul>
{% endblock %}
{% block content %}
<h1 class="title">{% trans %}I2P: A scalable framework for anonymous communication{% endtrans %}</h1>
<div id="toc">
<h2>{% trans %}Table of Contents{% endtrans %}</h2>
<ul>
<li><a href="#intro">{% trans %}Introduction{% endtrans %}</a></li>
<li>
<a href="#op">{% trans %}I2P Operation{% endtrans %}</a>
<ul>
<li><a href="#op.overview">{% trans %}Overview{% endtrans %}</a></li>
<li><a href="#op.tunnels">{% trans %}Tunnels{% endtrans %}</a></li>
<li><a href="#op.netdb">{% trans %}Network Database{% endtrans %}</a></li>
<li><a href="#op.transport">{% trans %}Transport protocols{% endtrans %}</a></li>
<li><a href="#op.crypto">{% trans %}Cryptography{% endtrans %}</a></li>
</ul>
</li>
</ul>
</div>
<br/>
<h1 id="intro">{% trans %}Introduction{% endtrans %}</h1>
<p>{% trans -%}
I2P is a scalable, self organizing, resilient packet switched anonymous

View File

@ -41,6 +41,30 @@
</ul>
{% endmacro %}
{% block content_nav %}
<h3>{% trans %}Index of Attacks{% endtrans %}</h3>
<ul>
<li><a href="#bruteforce">{% trans %}Brute force attacks{% endtrans %}</a></li>
<li><a href="#timing">{% trans %}Timing attacks{% endtrans %}</a></li>
<li><a href="#intersection">{% trans %}Intersection attacks{% endtrans %}</a></li>
<li><a href="#dos">{% trans %}Denial of service attacks{% endtrans %}</a></li>
<li><a href="#tagging">{% trans %}Tagging attacks{% endtrans %}</a></li>
<li><a href="#partitioning">{% trans %}Partitioning attacks{% endtrans %}</a></li>
<li><a href="#predecessor">{% trans %}Predecessor attacks{% endtrans %}</a></li>
<li><a href="#harvesting">{% trans %}Harvesting attacks{% endtrans %}</a></li>
<li><a href="#traffic">{% trans %}Identification Through Traffic Analysis{% endtrans %}</a></li>
<li><a href="#sybil">{% trans %}Sybil attacks{% endtrans %}</a></li>
<li><a href="#buddy">{% trans %}Buddy Exhaustion attacks{% endtrans %}</a></li>
<li><a href="#crypto">{% trans %}Cryptographic attacks{% endtrans %}</a></li>
<li><a href="#floodfill">{% trans %}Floodfill attacks{% endtrans %}</a></li>
<li><a href="#netdb">{% trans %}Other Network Database attacks{% endtrans %}</a></li>
<li><a href="#central">{% trans %}Attacks on centralized resources{% endtrans %}</a></li>
<li><a href="#dev">{% trans %}Development attacks{% endtrans %}</a></li>
<li><a href="#impl">{% trans %}Implementation attacks{% endtrans %}</a></li>
<li><a href="#blocklist">{% trans %}Other Defenses{% endtrans %}</a></li>
</ul>
{% endblock %}
{% block content %}
<h2>{% trans %}What do we mean by "anonymous"?{% endtrans %}</h2>
@ -179,28 +203,6 @@ and priority scores are calculated using the equations outlined
#}
<h3 id="index">{% trans %}Index of Attacks{% endtrans %}</h3>
<ul>
<li><a href="#bruteforce">{% trans %}Brute force attacks{% endtrans %}</a></li>
<li><a href="#timing">{% trans %}Timing attacks{% endtrans %}</a></li>
<li><a href="#intersection">{% trans %}Intersection attacks{% endtrans %}</a></li>
<li><a href="#dos">{% trans %}Denial of service attacks{% endtrans %}</a></li>
<li><a href="#tagging">{% trans %}Tagging attacks{% endtrans %}</a></li>
<li><a href="#partitioning">{% trans %}Partitioning attacks{% endtrans %}</a></li>
<li><a href="#predecessor">{% trans %}Predecessor attacks{% endtrans %}</a></li>
<li><a href="#harvesting">{% trans %}Harvesting attacks{% endtrans %}</a></li>
<li><a href="#traffic">{% trans %}Identification Through Traffic Analysis{% endtrans %}</a></li>
<li><a href="#sybil">{% trans %}Sybil attacks{% endtrans %}</a></li>
<li><a href="#buddy">{% trans %}Buddy Exhaustion attacks{% endtrans %}</a></li>
<li><a href="#crypto">{% trans %}Cryptographic attacks{% endtrans %}</a></li>
<li><a href="#floodfill">{% trans %}Floodfill attacks{% endtrans %}</a></li>
<li><a href="#netdb">{% trans %}Other Network Database attacks{% endtrans %}</a></li>
<li><a href="#central">{% trans %}Attacks on centralized resources{% endtrans %}</a></li>
<li><a href="#dev">{% trans %}Development attacks{% endtrans %}</a></li>
<li><a href="#impl">{% trans %}Implementation attacks{% endtrans %}</a></li>
<li><a href="#blocklist">{% trans %}Other Defenses{% endtrans %}</a></li>
</ul>
<h3 id="bruteforce">{% trans %}Brute force attacks{% endtrans %}</h3>
{# DREAD_score(2, 1, 1, 1, 3) #}

View File

@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Index to Technical Documentation{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}November 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.17{% endblock %}
{% block lastupdated %}{% trans %}January 2016{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<p>{% trans -%}
Following is an index to the technical documentation for I2P.
@ -87,11 +87,11 @@ HTTP Bidir Proxy
</li><li>
<a href="{{ spec_url('streaming') }}">{{ _('Streaming Protocol Specification') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html">{{ _('Streaming Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/client/streaming/package-summary.html">{{ _('Streaming Javadoc') }}</a>
</li><li>
<a href="{{ spec_url('datagrams') }}">{{ _('Datagrams') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/datagram/package-summary.html">{{ _('Datagram Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/client/datagram/package-summary.html">{{ _('Datagram Javadoc') }}</a>
</li></ul>
<h3>{% trans %}Client-to-Router Interface API and Protocol{% endtrans %}</h3>
@ -104,11 +104,11 @@ Traditionally used only by Java applications and higher-level APIs.
</li><li>
<a href="{{ spec_url('i2cp') }}">{{ _('I2CP Specification') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/package-summary.html">{{ _('I2CP API Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/client/package-summary.html">{{ _('I2CP API Javadoc') }}</a>
</li><li>
<a href="{{ spec_url('common-structures') }}">{{ _('Common data structures specification') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html">{{ _('Data Structures Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/package-summary.html">{{ _('Data Structures Javadoc') }}</a>
</li></ul>
<h3>{% trans %}End-to-End Encryption{% endtrans %}</h3>
@ -134,11 +134,11 @@ Traditionally used only by Java applications and higher-level APIs.
</li><li>
<a href="{{ spec_url('i2np') }}">{{ _('I2NP Specification') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2np/package-summary.html">{{ _('I2NP Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/i2np/package-summary.html">{{ _('I2NP Javadoc') }}</a>
</li><li>
<a href="{{ spec_url('common-structures') }}">{{ _('Common data structures specification') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html">{{ _('Data Structures Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/package-summary.html">{{ _('Data Structures Javadoc') }}</a>
</li></ul>
<h3>{% trans %}Tunnels{% endtrans %}</h3>
@ -172,11 +172,11 @@ Traditionally used only by Java applications and higher-level APIs.
</li><li>
<a href="{{ site_url('docs/how/cryptography') }}#udp">{{ _('SSU transport encryption') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/package-summary.html">{{ _('Transport Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/router/transport/package-summary.html">{{ _('Transport Javadoc') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/ntcp/package-summary.html">{{ _('NTCP Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/router/transport/ntcp/package-summary.html">{{ _('NTCP Javadoc') }}</a>
</li><li>
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/udp/package-summary.html">{{ _('SSU Javadoc') }}</a>
<a href="http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/router/transport/udp/package-summary.html">{{ _('SSU Javadoc') }}</a>
</li></ul>
<h3>{% trans %}Other Router Topics{% endtrans %}</h3>
@ -221,6 +221,8 @@ Traditionally used only by Java applications and higher-level APIs.
</li><li>
<a href="{{ site_url('docs/applications/embedding') }}">{{ _('Embedding the router in your application') }}</a>
</li><li>
<a href="{{ site_url('get-involved/guides/reseed') }}">{{ _('How to Set up a Reseed Server') }}</a>
</li><li>
<a href="{{ site_url('docs/ports') }}">{{ _('Ports used by I2P') }}</a>
</li><li>
<a href="http://{{ i2pconv('update.killyourtv.i2p') }}/mtn/">{{ _('Automatic updates to development builds inside I2P') }}</a>
@ -241,9 +243,7 @@ Traditionally used only by Java applications and higher-level APIs.
</li><li>
<a href="https://www.transifex.net/projects/p/I2P/">{{ _('Source translation at Transifex') }}</a>
</li><li>
<a href="https://trac.i2p2.de/wiki/Roadmaps/1.0">{{ _('Roadmap wiki') }}</a>
</li><li>
<a href="{{ site_url('get-involved/roadmap') }}">{{ _('Old roadmap') }}</a> ({{ _('not current') }})
<a href="{{ site_url('get-involved/roadmap') }}">{{ _('Roadmap') }}</a>
</li><li>
<a href="{{ site_url('get-involved/todo') }}">{{ _('To Do List') }}</a> ({{ _('not current') }})
</li><li>

View File

@ -140,7 +140,7 @@ It also maintains a reverse-lookup map to implement rapid reverse lookups.
<h3>{{ _('Other Naming Service Facilities') }}</h3>
<p>{% trans nsjavadocs='http://docs.i2p-projekt.de/javadoc/net/i2p/client/naming/package-summary.html' -%}
<p>{% trans nsjavadocs='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/naming/package-summary.html' -%}
The lookup is case-insensitive.
The first match is used, and conflicts are not detected.
There is no enforcement of naming rules in lookups.

View File

@ -1,6 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Ports Used by I2P{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}April 2015{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}December 2015{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.19{% endblock %}
{% block content %}
@ -61,6 +61,7 @@ in the 766x range.
<tr><td>8999</td><td>Monotone Proxy (alt)</td></tr>
<tr><td>9050</td><td>Tor SOCKS Proxy (reserve)</td></tr>
<tr><td>9051-9053</td><td>SOCKS Proxy (typ)</td></tr>
<tr><td>9152-9153</td><td>Tor Messenger Socks and Control ports (reserve)</td></tr>
<tr><td>9111-30777</td><td>Network (random)</td></tr>
<tr><td>11371</td><td>SKS/GPG Key Server (reserve)</td></tr>
<tr><td>31000</td><td>Wrapper</td></tr>

View File

@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}I2CP{% endblock %}
{% block lastupdated %}{% trans %}December 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.17{% endblock %}
{% block lastupdated %}{% trans %}Fegruary 2016{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<p>{% trans -%}
The I2P Client Protocol (I2CP) exposes a strong separation of concerns between
@ -15,7 +15,7 @@ I2CP to tell the client when any messages have arrived, and to request authoriza
for some tunnels to be used.
{%- endtrans %}</p>
<p>{% trans url='http://docs.i2p-projekt.de/javadoc/net/i2p/client/package-summary.html',
<p>{% trans url='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/client/package-summary.html',
libi2cp='http://git.repo.i2p/w/libi2cp.git',
streaming=site_url('docs/api/streaming') -%}
The protocol itself is implemented in Java, to provide the
@ -709,6 +709,11 @@ turns the gzip effort setting to 0, which may save a little CPU.
</tr>
</table>
<p>
Note: I2P protocol numbers 224-254 are reserved for experimental protocols.
I2P protocol number 255 is reserved for future expansion.
</p>
<p>{% trans -%}
Data integrity is verified with the standard gzip CRC-32 as
specified by <a href="http://www.ietf.org/rfc/rfc1952.txt">RFC 1952</a>.

View File

@ -19,7 +19,7 @@ through multiple hops to the ultimate destination.
Priority is only used locally at the origin, i.e. when queuing for outbound delivery.
{%- endtrans %}</p>
<p>{% trans outnetmessage='http://docs.i2p-projekt.de/javadoc/net/i2p/router/OutNetMessage.html' -%}
<p>{% trans outnetmessage='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/router/OutNetMessage.html' -%}
The priorities listed below may not be current and are subject to change.
See the <a href="{{ outnetmessage }}">OutNetMessage Javadocs</a>
for the current priority settings.

View File

@ -0,0 +1,46 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Reseed Hosts{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}January 2016{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.24{% endblock %}
{% block content %}
<h2 id="about">{% trans %}About Reseed hosts{% endtrans %}</h2>
<p>{% trans -%}
Reseed hosts are needed to for bootstrapping, that is, providing the initial set of I2P nodes for your I2P node to talk to. Depending on the status of your node it may need to bootstrap every now and then if many of the nodes it knows of aren't contactable.
{%- endtrans %}</p>
<p>{% trans -%}
Reseeding is done over an encrypted connection and all of the bootstrap information is signed by the reseed host you connect to, making it impossible for an unauthenticated source to provide you with false information.
{%- endtrans %}</p>
<h2 id="running">{% trans %}Running a Reseed host{% endtrans %}</h2>
<p>
{% trans -%}
The more reseed hosts that are run, the more resilient the I2P network becomes, and the harder it is to prevent users of I2P from connecting to the network.
{%- endtrans %}
</p>
{% trans -%}
There have also been cases where the reseed hosts we had, have been under heavy load due to botnet activities.
{%- endtrans %}
</p>
<p>
<a href="{{ site_url('get-involved/guides/reseed') }}">How to run a Reseed host</a>
</p>
<h2 id="thank you">{% trans %}Thank you{% endtrans %}</h2>
<p>
{%-trans -%}
If you are running a reseed server, We would like to thank you for helping to
make the I2P network stronger and more resilient than ever.
{%- endtrans-%}
</p>
<p>
{%-trans -%}
Thank you.
{%- endtrans-%}
</p>
{% endblock %}

View File

@ -1,7 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Frequently Asked Questions') }}{% endblock %}
{% block content %}
<h3 id="index">{{ _('Index') }}</h3>
{% block content_nav %}
<ol>
<li style="list-style: none; display: inline">
<h4>{{ _('General') }}</h4>
@ -47,7 +46,9 @@
<li><a href="#compat6x">{% trans %}I'm using FreeBSD and when I start I2P I receive an error about <code>libm.so.4</code>!{% endtrans %}</a></li>
<li><a href="#protocolfamily">{% trans %}In <code>wrapper.log</code> I see an error stating <code>Protocol family unavailable</code> when I2P is loading{% endtrans %}</a></li>
</ol>
{% endblock %}
{% block content %}
<h3 id="systems">{% trans %}What systems will I2P run on?{% endtrans %}
<span class="permalink">(<a href="#systems">{{ _('link') }}</a>)</span></h3>
<p>{% trans chart='https://trac.i2p2.de/wiki/java' -%}

View File

@ -2,17 +2,16 @@
{% block title %}{{ _('Application Development') }}{% endblock %}
{% block lastupdated %}{% trans %}May 2013{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.6{% endblock %}
{% block content %}
<h1>{{ _('Application Development Guide') }}</h1>
<h2>{{ _('Contents') }}</h2>
{% block content_nav %}
<ul>
<li><a href="#why">{{ _('Why write I2P-specific code?') }}</a></li>
<li><a href="#concepts">{{ _('Important concepts') }}</a></li>
<li><a href="#options">{{ _('Development options') }}</a></li>
<li><a href="#start"><b>{{ _('Start developing - a simple guide') }}</b></a></li>
</ul>
{% endblock %}
{% block content %}
<h2 id="why">{{ _('Why write I2P-specific code?') }}</h2>
<p>{% trans i2ptunnel=site_url('docs/api/i2ptunnel') -%}

View File

@ -65,7 +65,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">core</td>
<td valign="top" align="left">i2p.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
@ -77,7 +77,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">router</td>
<td valign="top" align="left">router.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
@ -91,7 +91,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
<td valign="top" align="left">zzz</td>
@ -101,7 +101,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">apps/streaming</td>
<td valign="top" align="left">streaming.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
@ -115,7 +115,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">
<a href="#java_exception">GPL + exception</a></td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
@ -126,7 +126,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">apps/routerconsole</td>
<td valign="top" align="left">routerconsole.war</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">&nbsp;</td>
<td valign="top" align="left">zzz</td>
</tr>
@ -138,7 +138,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
<td valign="top" align="left">&nbsp;</td>
@ -176,7 +176,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">BOB.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/WTFPL">WTFPL</a></td>
<a href="https://en.wikipedia.org/wiki/WTFPL">WTFPL</a></td>
<td valign="top" align="left">&nbsp;</td>
<td valign="top" align="left">sponge</td>
</tr>
@ -186,7 +186,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">sam.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
@ -199,9 +199,9 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">SAM.pm</td>
<td valign="top" align="left">
<a href="http://dev.perl.org/licenses/artistic.html">Artistic</a></td>
<a href="https://www.gnu.org/licenses/gpl-2.0.html">GPL</a></td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
@ -215,7 +215,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
<td valign="top" align="left">Nightblade</td>
@ -226,9 +226,9 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">i2p.py</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
<td valign="top" align="left">Connelly</td>
@ -239,9 +239,9 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">n/a</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left">
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
<td valign="top" align="left">smeghead</td>
@ -251,8 +251,8 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">apps/</td>
<td valign="top" align="left">...</td>
<td valign="top" align="left">
probably
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a>
Probably
<a href="https://en.wikipedia.org/wiki/Public_domain">Public domain</a>
but check the source</td>
<td valign="top" align="left">&nbsp;</td>
<td valign="top" align="left">&nbsp;</td>
@ -263,7 +263,7 @@ to what licenses meet the above four guarantees for inclusion in the I2P distrib
<td valign="top" align="left">install.jar, guiinstall.jar</td>
<td valign="top" align="left">
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<a href="https//en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
<td valign="top" align="left"><a href="#java_exception">GPL + exception</a><br />
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />

View File

@ -73,10 +73,10 @@ mentioned on the I2P webpage.
<img src="/_static/images/i2pancdonate.2014.png" alt="ANC donation QR code" />
<br />
<h2><a href="https://getmonero.com/">Monero</a></h2>
<h2><a href="https://getmonero.org/">Monero</a></h2>
<p>{% trans date='Nov 2015',
cointype='Monero',
coinurl='https://getmonero.com',
coinurl='https://getmonero.org',
account='42oAxV3DVXXG3HhyCyi2xaPukKXbip9Sx1YuJtoCqjZRSze4tYCq7n3VUswDBFV59Zev8yfHSZro4TUwXumtRWnQ8xQipkC' -%}
As of {{ date }}, echelon has been running a
<a href="{{ coinurl }}">{{ cointype }}</a> account for the I2P project.

View File

@ -1,6 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Developer Guidelines and Coding Style') }}{% endblock %}
{% block lastupdated %}{% trans %}November 2015{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}February 2016{% endtrans %}{% endblock %}
{% block content %}
<p>{% trans newdevs=site_url('get-involved/guides/new-developers') -%}
Read the <a href="{{ newdevs }}">new developers guide</a> first.
@ -31,6 +31,50 @@ the checkin deadline for a release.
{%- endtrans %}</li>
</ul>
<h3>{{ _('Release Cycle') }}</h3>
<p>{% trans -%}
Our normal release cycle is 6-10 weeks.
Following are the approximate deadlines within a typical 8-week cycle.
Actual deadlines for each release are set by the lead developer.
{%- endtrans %}</p>
<ul>
<li>{% trans -%}
1-2 days after previous release: Checkins to trunk are allowed.
{%- endtrans %}</li>
<li>{% trans -%}
2-3 weeks after previous release: Deadline to propagate major changes from other branches to trunk.
{%- endtrans %}</li>
<li>{% trans -%}
4-5 weeks before release: Deadline to request new home page links.
{%- endtrans %}</li>
<li>{% trans -%}
3-4 weeks before release: Feature freeze. Deadline for major new features.
{%- endtrans %}</li>
<li>{% trans -%}
2-3 weeks before release: Hold project meeting to review new home page link requests, if any.
{%- endtrans %}</li>
<li>{% trans -%}
7-10 days before release: String freeze. No more changes to translated ("tagged") strings.
Push strings to Transifex, announce translation deadline on Transifex.
{%- endtrans %}</li>
<li>{% trans -%}
7-10 days before release: Feature deadline. Bug fixes only after this time. No more features, refactoring or cleanup.
{%- endtrans %}</li>
<li>{% trans -%}
3-4 days before release: Translation deadline. Pull translations from Transifex and check in.
{%- endtrans %}</li>
<li>{% trans -%}
2-3 days before release: Checkin deadline. No checkins after this time without the permission of the release builder.
{%- endtrans %}</li>
<li>{% trans -%}
Hours before release: Code review deadline.
{%- endtrans %}</li>
</ul>
<h3>Monotone</h3>
<ul>
<li>{% trans -%}
@ -126,14 +170,34 @@ Don't use URL. Use URI.
Don't catch Exception. Catch RuntimeException and checked exceptions individually.
{%- endtrans %}</li>
<li>{% trans -%}
Don't use String.getBytes(). Use DataHelper.getUTF8() or DataHelper.getASCII().
Don't use String.getBytes() without a UTF-8 charset argument. You may also use DataHelper.getUTF8() or DataHelper.getASCII().
{%- endtrans %}</li>
<li>{% trans -%}
Always specify a UTF-8 charset when reading or writing files. The DataHelper utilities may be helpful.
{%- endtrans %}</li>
<li>{% trans -%}
Always specify a locale (for example Locale.US) when using String.toLowerCase() or String.toUpperCase().
Do not use String.equalsIgnoreCase(), as a locale cannot be specified.
{%- endtrans %}</li>
<li>{% trans -%}
Don't use String.split(). Use DataHelper.split().
{%- endtrans %}</li>
<li>{% trans -%}
Ensure that InputStreams and OutputStreams are closed in finally blocks.
{%- endtrans %}</li>
<li>{% trans -%}
Use {} for all for and while blocks, even if only one line.
If you use {} for either the if, else, or if-else block, use it for all blocks.
Put "} else {" on a single line.
{%- endtrans %}</li>
<li>{% trans -%}
Specify fields as final wherever possible.
{%- endtrans %}</li>
<li>{% trans -%}
Don't store I2PAppContext, RouterContext, Log, or any other references to router or context items in static fields.
{%- endtrans %}</li>
<li>{% trans -%}
Don't start threads in constructors. Use I2PAppThread instead of Thread.
{%- endtrans %}</li>
</ul>

View File

@ -1,7 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Monotone Guide{% endtrans %}{% endblock %}
{% block content %}
<div id="TOC">
{% block content_nav %}
<ol>
<li>
<a href="#operating-a-monotone-client">{% trans %}Operating a Monotone client{% endtrans %}</a>
@ -26,8 +25,9 @@
</ol>
</li>
</ol>
</div>
{% endblock %}
{% block content %}
<p><i>
{% trans transitionguide=site_url('misc/transition-guide'), newdevs=site_url('get-involved/guides/new-developers') -%}
This is a revised version of <a href="{{ transitionguide }}">Complication's original

View File

@ -1,5 +1,22 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}New Developer's Guide{% endtrans %}{% endblock %}
{% block content_nav %}
<ol>
<li><a href="#basic-study">{% trans %}Basic study{% endtrans %}</a></li>
<li><a href="#getting-the-i2p-code">{% trans %}Getting the I2P code{% endtrans %}</a>
<ul>
<li><a href="#git">{% trans %}The easy way: Git{% endtrans %}</a></li>
<li><a href="#monotone">{% trans %}The proper way: Monotone{% endtrans %}</a></li>
</ul></li>
<li><a href="#building-i2p">{% trans %}Building I2P{% endtrans %}</a></li>
<li><a href="#development-ideas">{% trans %}Development ideas{% endtrans %}</a></li>
<li><a href="#making-the-results-available">{% trans %}Making the results available{% endtrans %}</a></li>
<li><a href="#get-to-know-us">{% trans %}Get to know us!{% endtrans %}</a></li>
<li><a href="#translations">{% trans %}Translations{% endtrans %}</a></li>
<li><a href="#tools">{% trans %}Tools{% endtrans %}</a></li>
</ol>
{% endblock %}
{% block content %}
<p>{% trans %}
So you want to start work on I2P? Great!
@ -11,19 +28,6 @@ Not quite ready for coding?
Try <a href="{{ volunteer }}">getting involved</a> first.
{%- endtrans %}</p>
<div id="TOC">
<ol>
<li><a href="#basic-study">{% trans %}Basic study{% endtrans %}</a></li>
<li><a href="#getting-the-i2p-code">{% trans %}Getting the I2P code{% endtrans %}</a></li>
<li><a href="#building-i2p">{% trans %}Building I2P{% endtrans %}</a></li>
<li><a href="#development-ideas">{% trans %}Development ideas{% endtrans %}</a></li>
<li><a href="#making-the-results-available">{% trans %}Making the results available{% endtrans %}</a></li>
<li><a href="#get-to-know-us">{% trans %}Get to know us!{% endtrans %}</a></li>
<li><a href="#translations">{% trans %}Translations{% endtrans %}</a></li>
<li><a href="#tools">{% trans %}Tools{% endtrans %}</a></li>
</ol>
</div>
<h2 id="basic-study">{% trans %}Basic study{% endtrans %}</h2>
<p>{% trans -%}
@ -41,9 +45,31 @@ These will give you a good overview of how I2P is structured and what different
<h2 id="getting-the-i2p-code">{% trans %}Getting the I2P code{% endtrans %}</h2>
<p>{% trans -%}
For development on the i2p router or the embedded applications,
get the monotone source repository installed - short instructions:
For development on the I2P router or the embedded applications,
there are two ways to get the source code:
{%- endtrans %}</p>
<h3 id="git">{% trans %}The easy way: Git{% endtrans %}</h3>
<ul>
<li>{% trans git_url='https://git-scm.com/' -%}
Install <a href="{{ git_url }}">Git</a>.
{%- endtrans %}</li>
<li>{% trans i2p_git='https://github.com/i2p/i2p.i2p' -%}
Get the code from <a href="{{ i2p_git }}">the GitHub mirror</a>:
{%- endtrans %}<br>
<code>git clone https://github.com/i2p/i2p.i2p.git</code>
</li>
</ul>
<h4>{% trans %}Remarks{% endtrans %}</h4>
<p>{% trans trac='http://'+i2pconv('trac.i2p2.i2p') -%}
The Git repository is currently a read-only mirror. If you wish to use it for
development, you will need to submit patches to <a href="{{ trac }}">our issue
tracker</a>. We can accept GitHub pull requests, but they must be processed
manually by turning them into patches anyway.
{%- endtrans %}</p>
<h3 id="monotone">{% trans %}The proper way: Monotone{% endtrans %}</h3>
<ul>
<li>{% trans -%}
Install <a href="http://www.monotone.ca/">monotone</a>.
@ -93,7 +119,7 @@ Copy and paste the <a href="{{ devkeys }}">developer's commit keys</a> into a ne
</li>
</ul>
<h3>{% trans %}Remarks{% endtrans %}</h3>
<h4>{% trans %}Remarks{% endtrans %}</h4>
<p>{% trans %}
To download the website files instead of the I2P source files, use 'i2p.www' instead of 'i2p.i2p'.
{%- endtrans %}</p>

File diff suppressed because it is too large Load Diff

View File

@ -74,6 +74,11 @@ Both anonymity vulnerabilities from the various
and DOS and other weaknesses due to securities holes,
need researching.
{%- endtrans %}
</li><li><b>{{ _('Reseeding') }}</b> &mdash;
{% trans reseed=site_url('get-involved/guides/reseed') -%}
Set up a reseed server for new routers to bootstrap from.
Detailed instructions are on our <a href="{{ reseed }}">reseed server page</a>.
{%- endtrans %}
</li><li><b><a href="{{ site_url('get-involved/donate') }}">{{ _('Donate') }}</a></b>
</li></ul>

View File

@ -1,37 +1,193 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Roadmap') }}{% endblock %}
{% block lastupdated %}{% trans %}February 2016{% endtrans %}{% endblock %}
{% block content %}
<h2 id="v0.9">0.9</h2>
<p>
This is the official project roadmap for the desktop and Android Java I2P releases only.
</p><p>
For details and discussion on specific items, search on trac or zzz.i2p.
For contents of past releases, see the release notes.
For other project goals, see the meeting notes.
</p><p>
Note that we do not have a particular target for numbering a release as "1.0".
We plan to continue numbering releases as 0.9.x for now.
We do not maintain separate unstable and stable branches or releases.
We have a single, stable release path.
Our normal release cycle is 6-10 weeks.
</p>
<h2 id="v0.9.24">0.9.24</h2>
<p><b>Released: January 27, 2016</b></p>
<ul><li>
SAM v3.2
</li><li>
Require Java 7
</li><li>
NetDB Family
</li><li>
Remove commons-logging
</li><li>
Use SSU Extended options to request introduction
</li><li>
Experimental Sybil analysis tool
</li><li>
Unit test improvements
</li><li>
Complete transition to Ed25519 signatures for most routers
</li><li>
Tunnel Bloom filter fixes
</li><li>
Bug fixes, translation updates, geoip updates
</li></ul>
<h2 id="v0.9.25">0.9.25</h2>
<p><b>Target release date: mid-to-late March 2016</b></p>
<ul><li>
Wrapper 3.5.27
</li><li>
SAM v3.3
</li><li>
Sybil tool enhancements
</li><li>
QR codes and identicons
</li><li>
Crypto enhancements and speedups
</li><li>
Router family configuration UI
</li><li>
Custom icons for non-webapp plugins
</li><li>
Bug fixes, translation updates, geoip updates
</li></ul>
<h2 id="v0.9.26">0.9.26</h2>
<p><b>Target release date: May 2016</b></p>
<ul><li>
New subscription protocol, addressbook support
</li><li>
GMP 6.0
</li><li>
Sybil tool migration to automatic?
</li><li>
Streaming improvements
</li><li>
Certificate revocations (CRL) ?
</li><li>
</li><li>
</li><li>
Bug fixes, translation updates, geoip updates
</li></ul>
<h2 id="v0.9.27">0.9.27 - 0.9.29</h2>
<p><b>Time frame: 2nd Half 2016</b></p>
<ul><li>
Pluggable transports?
</li><li>
Crypto migration for existing hidden services
</li><li>
Initial work on NTCP2
</li><li>
Initial work on New DH
</li><li>
Initial work on new crypto
</li><li>
Initial work on LS2 with multi-destination support
</li><li>
GMP 6.1
</li><li>
Initial work on new netdb ("next backend")
</li><li>
Console redesign phase 1
</li><li>
Initial work on new naming system with Grothoff
</li><li>
Jetty 9.2
</li><li>
Bundle i2pcontrol? (un-pluginize)
</li><li>
SQLite address book for Android
</li><li>
Android UI enhancements
</li><li>
Unit test improvements
</li><li>
Private test net setup improvements
</li><li>
Integrated chat client?
</li><li>
Streaming improvements
</li><li>
Performance improvements
</li><li>
Capacity improvements
</li><li>
NTCP Pumper redesign
</li><li>
I2PTunnel socket-side NIO
</li><li>
</li><li>
</li><li>
</li><li>
Bug fixes, translation updates, geoip updates
</li></ul>
<h2 id="2017">2017</h2>
<ul>
<li>{% trans -%}
Include some seed data in the distribution so a central reseed location isn't required?
{%- endtrans %}</li>
<li>
New crypto
</li><li>
NTCP2
</li><li>
LS2 with multi-destination support
</li><li>
New netdb
</li><li>
New DH
</li><li>
Full support for massively popular hidden services
</li><li>
Initial work on new naming system
</li><li>
Console redesign phase 2
</li><li>
Streaming improvements
</li><li>
Performance improvements
</li><li>
Capacity improvements
</li>
<li>{% trans todo=site_url('get-involved/todo') -%}
Reachability Mapping / handle peers partially reachable / enhanced <a href="{{ todo }}#fullRestrictedRoutes">restricted routes</a>
{%- endtrans %}</li>
<li>{% trans %}Improve help pages and website{% endtrans %}</li>
<li>{% trans %}More translations{% endtrans %}</li>
<li>{% trans %}SSU disconnect message{% endtrans %}</li>
<li>{% trans %}Iterative floodfill lookups{% endtrans %}</li>
</ul>
<h2 id="v1.0">1.0</h2>
<ul>
<li>{% trans %}Full review of anonymity issues and other vulnerabilities{% endtrans %}</li>
<li>{% trans -%}
Reduce memory usage, remove debugging overhead, make it run better on slow and embedded machines
{%- endtrans %}</li>
<li>{{ _('Docs') }}</li>
</ul>
<h2 id="v2.0">2.0</h2>
<ul>
<li>{% trans %}Full restricted routes{% endtrans %}</li>
<li>{% trans %}Tunnel mixing and padding{% endtrans %}</li>
<li>{% trans %}User defined message delays{% endtrans %}</li>
</ul>
<h2 id="v3.0">3.0</h2>
<h2 id="2018">2018</h2>
<ul>
<li>{% trans todo=site_url('get-involved/todo') -%}
Reachability Mapping / handle peers partially reachable / enhanced <a href="{{ todo }}#fullRestrictedRoutes">restricted routes</a>
{%- endtrans %}</li>
<li>{% trans %}Full restricted routes{% endtrans %}</li>
<li>{% trans %}Tunnel mixing and padding{% endtrans %}</li>
<li>{% trans %}User defined message delays{% endtrans %}</li>
</ul>

View File

@ -1,24 +1,14 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('I2P Project Targets') }}{% endblock %}
{% block content %}
<p>{% trans roadmap=site_url('get-involved/roadmap'), volunteer=site_url('get-involved') -%}
Below is a more detailed (yet still incomplete) discussion of the major areas
of future development on the core I2P network, spanning the plausibly planned
releases. This does not include stego transports, porting to wireless devices,
or tools to secure the local machine, nor does it include client applications
that will be essential in I2P's success. There are probably other things that
will come up, especially as I2P gets more peer review, but these are the main
'big things'. See also <a href="{{ roadmap }}">the roadmap</a>. Want to help?
<a href="{{ volunteer }}">Get involved</a>!
{%- endtrans %}</p>
<h2>{{ _('Core functionality') }} <span class="permalink"><a href="#core">[{{ _('link') }}]</a></span></h2>
{% block content_nav %}
<ul>
<li><a href="#core">{{ _('Core functionality') }}</a>
<ul class="targetlist">
<li><a href="#netdb">{% trans -%}
NetworkDB and profile tuning and ejection policy for large nets
{%- endtrans %}</a></li>
</ul>
<h2>{{ _('Security / anonymity') }} <span class="permalink"><a href="#security">[{{ _('link') }}]</a></span></h2>
</ul></li>
<li><a href="#security">{{ _('Security / anonymity') }}</a>
<ul class="targetlist">
<li><a href="#fullRestrictedRoutes">{% trans -%}
Full blown n-hop restricted routes with optional trusted links
@ -32,8 +22,27 @@ Advanced tunnel operation (batching/mixing/throttling/padding)
<li><a href="#stop">{% trans -%}
Stop &amp; go mix w/ garlics &amp; tunnels
{%- endtrans %}</a></li>
</ul>
<h2>{{ _('Performance') }} <span class="permalink"><a href="{{ site_url('about/performance/future') }}">[{{ _('link') }}]</a></span></h2>
</ul></li>
<li><a href="{{ site_url('about/performance/future') }}">{{ _('Performance') }}</a></li>
</ul>
{% endblock %}
{% block content %}
<p>{% trans roadmap=site_url('get-involved/roadmap') -%}
Note: This page is not up-to-date.
See <a href="{{ roadmap }}">the roadmap</a> for current plans.
{%- endtrans %}</p>
<p>{% trans roadmap=site_url('get-involved/roadmap'), volunteer=site_url('get-involved') -%}
Below is a more detailed (yet still incomplete) discussion of the major areas
of future development on the core I2P network, spanning the plausibly planned
releases. This does not include stego transports, porting to wireless devices,
or tools to secure the local machine, nor does it include client applications
that will be essential in I2P's success. There are probably other things that
will come up, especially as I2P gets more peer review, but these are the main
'big things'. See also <a href="{{ roadmap }}">the roadmap</a>. Want to help?
<a href="{{ volunteer }}">Get involved</a>!
{%- endtrans %}</p>
<h2 id="core">{{ _('Core functionality') }}</h2>
<ul class="targetlist">

View File

@ -22,7 +22,7 @@ as a replacement for the
As modPow() is a significant computational portion of many crypto operations, this is of significant benefit.
{%- endtrans %}</p>
<p>{% trans nativebigint='http://docs.i2p-projekt.de/javadoc/net/i2p/util/NativeBigInteger.html',
<p>{% trans nativebigint='http://'+i2pconv('i2p-javadocs.i2p')+'/net/i2p/util/NativeBigInteger.html',
bigint='http://download.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html#modPow%28java.math.BigInteger,%20java.math.BigInteger%29' -%}
The standard I2P installation includes about 20 versions of the library for different platforms,
each about 50KB, inside the jbigi.jar file.

View File

@ -1,10 +1,18 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Academic Research') }}{% endblock %}
{% block lastupdated %}{% trans %}February 2016{% endtrans %}{% endblock %}
{% block content %}
<p>{% trans -%}
Academic research and analysis of I2P is an important part of ensuring that the software and network performs as expected and is safe for users in hostile environments.
{%- endtrans %}</p>
<p>{% trans torg='https://blog.torproject.org/blog/ethical-tor-research-guidelines' %}
Recent events have prompted anonymity projects to provide specific guidelines
for responsible research.
We endorse the <a href="{{ torg }}">Tor Ethical Research Guidelines</a> and incorporate them here.
Please follow the Tor guidelines when researching I2P as well.
{% endtrans %}</p>
<p>{% trans anonbib='http://freehaven.net/anonbib/' %}
There is a large research community investigating a wide range of aspects of
anonymity. For a current and comprehensive list of relevant papers, see the
@ -19,6 +27,10 @@ original research.
A list of known published papers about I2P is available <a href="{{ papers }}">here</a>.
{%- endtrans %}</p>
<p>{% trans torr='https://research.torproject.org/' %}
See also the <a href="{{ torr }}">Tor Research Home Page</a> for general guidance and links.
{% endtrans %}</p>
<h2>{{ _('Testing Attacks on I2P') }}</h2>
<p>{% trans -%}
@ -43,4 +55,27 @@ Additionally, I2P can be started in a virtual network mode. This mode disables a
<p>{% trans contact=site_url('contact') -%}
If you are planning on conducting research on the live I2P network, please <a href="{{ contact }}">contact us</a> before you commence your testing. While we do not discourage researchers from responsibly testing their ideas on the live network, if an attack becomes apparent and we don't have any line of communication then we will end up taking countermeasures which could interfere with the test.
{%- endtrans %}</p>
<h3>{{ _('Router Family Configuration') }}</h3>
<p>{% trans -%}
As of release 0.9.25, I2P supports a router family configuration.
This provides researchers who run multiple routers with the means to publicly identify those routers.
In turn, this helps the I2P project understand that these routers are not running an attack on the network.
It also will prevent other routers from including multiple routers of the family in a single tunnel,
which could lead to deanonymization.
Routers that appear to be colluding but do not have a declared family may be assumed to
be an attack on the network, and may be blocked.
The best way to ensure the success of your research project is to work with us.
{%- endtrans %}</p>
<p>{% trans -%}
A router family shares a private key so that participation in the family cannot be spoofed.
To configure a router family, click on the 'I2P Internals' link in the router console,
and then on the 'Family' tab.
Follow the instructions there to generate the private key for the first router in the family.
Then, export the key from that router, and import it to other members of the family.
{%- endtrans %}</p>
{% endblock %}

View File

@ -2,8 +2,8 @@
Common structures Specification
===============================
.. meta::
:lastupdated: April 2015
:accuratefor: 0.9.19
:lastupdated: February 2016
:accuratefor: 0.9.24
This document describes some data types common to all I2P protocols, like
@ -140,7 +140,7 @@ Contents
````````
256 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/PublicKey.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/PublicKey.html
.. _type-PrivateKey:
@ -157,7 +157,7 @@ Contents
````````
256 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/PrivateKey.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/PrivateKey.html
.. _type-SessionKey:
@ -172,7 +172,7 @@ Contents
````````
32 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/SessionKey.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/SessionKey.html
.. _type-SigningPublicKey:
@ -189,18 +189,19 @@ Key type and length are inferred from context or are specified in the Key
Certificate of a Destination. The default type is DSA_SHA1. As of release
0.9.12, other types may be supported, depending on context.
==================== ============== ======
Type Length (bytes) Since
==================== ============== ======
DSA_SHA1 128
ECDSA_SHA256_P256 64 0.9.12
ECDSA_SHA384_P384 96 0.9.12
ECDSA_SHA512_P521 132 0.9.12
RSA_SHA256_2048 256 0.9.12
RSA_SHA384_3072 384 0.9.12
RSA_SHA512_4096 512 0.9.12
EdDSA_SHA512_Ed25519 32 0.9.15
==================== ============== ======
====================== ============== ====== =====
Type Length (bytes) Since Usage
====================== ============== ====== =====
DSA_SHA1 128 Legacy Router Identities and Destinations
ECDSA_SHA256_P256 64 0.9.12 Recent Destinations
ECDSA_SHA384_P384 96 0.9.12 Rarely used for Destinations
ECDSA_SHA512_P521 132 0.9.12 Rarely used for Destinations
RSA_SHA256_2048 256 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA384_3072 384 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA512_4096 512 0.9.12 Offline signing, never used for Router Identities or Destinations
EdDSA_SHA512_Ed25519 32 0.9.15 Recent Router Identities and Destinations
EdDSA_SHA512_Ed25519ph 32 0.9.25 Offline signing, never used for Router Identities or Destinations
====================== ============== ====== =====
Notes
`````
@ -211,7 +212,7 @@ Notes
* All types are Big Endian, except for EdDSA, which is stored and transmitted
in a Little Endian format.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/SigningPublicKey.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/SigningPublicKey.html
.. _type-SigningPrivateKey:
@ -227,18 +228,19 @@ Contents
Key type and length are specified when created. The default type is DSA_SHA1.
As of release 0.9.12, other types may be supported, depending on context.
==================== ============== ======
Type Length (bytes) Since
==================== ============== ======
DSA_SHA1 20
ECDSA_SHA256_P256 32 0.9.12
ECDSA_SHA384_P384 48 0.9.12
ECDSA_SHA512_P521 66 0.9.12
RSA_SHA256_2048 512 0.9.12
RSA_SHA384_3072 768 0.9.12
RSA_SHA512_4096 1024 0.9.12
EdDSA_SHA512_Ed25519 32 0.9.15
==================== ============== ======
====================== ============== ====== =====
Type Length (bytes) Since Usage
====================== ============== ====== =====
DSA_SHA1 20 Legacy Router Identities and Destinations
ECDSA_SHA256_P256 32 0.9.12 Recent Destinations
ECDSA_SHA384_P384 48 0.9.12 Rarely used for Destinations
ECDSA_SHA512_P521 66 0.9.12 Rarely used for Destinations
RSA_SHA256_2048 512 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA384_3072 768 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA512_4096 1024 0.9.12 Offline signing, never used for Router Identities or Destinations
EdDSA_SHA512_Ed25519 32 0.9.15 Recent Router Identities and Destinations
EdDSA_SHA512_Ed25519ph 32 0.9.25 Offline signing, never used for Router Identities or Destinations
====================== ============== ====== =====
Notes
`````
@ -249,7 +251,7 @@ Notes
* All types are Big Endian, except for EdDSA, which is stored and transmitted
in a Little Endian format.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/SigningPrivateKey.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/SigningPrivateKey.html
.. _type-Signature:
@ -266,18 +268,19 @@ Signature type and length are inferred from the type of key used. The default
type is DSA_SHA1. As of release 0.9.12, other types may be supported,
depending on context.
==================== ============== ======
Type Length (bytes) Since
==================== ============== ======
DSA_SHA1 40
ECDSA_SHA256_P256 64 0.9.12
ECDSA_SHA384_P384 96 0.9.12
ECDSA_SHA512_P521 132 0.9.12
RSA_SHA256_2048 256 0.9.12
RSA_SHA384_3072 384 0.9.12
RSA_SHA512_4096 512 0.9.12
EdDSA_SHA512_Ed25519 64 0.9.15
==================== ============== ======
====================== ============== ====== =====
Type Length (bytes) Since Usage
====================== ============== ====== =====
DSA_SHA1 40 Legacy Router Identities and Destinations
ECDSA_SHA256_P256 64 0.9.12 Recent Destinations
ECDSA_SHA384_P384 96 0.9.12 Rarely used for Destinations
ECDSA_SHA512_P521 132 0.9.12 Rarely used for Destinations
RSA_SHA256_2048 256 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA384_3072 384 0.9.12 Offline signing, never used for Router Identities or Destinations
RSA_SHA512_4096 512 0.9.12 Offline signing, never used for Router Identities or Destinations
EdDSA_SHA512_Ed25519 64 0.9.15 Recent Router Identities and Destinations
EdDSA_SHA512_Ed25519ph 64 0.9.25 Offline signing, never used for Router Identities or Destinations
====================== ============== ====== =====
Notes
`````
@ -288,7 +291,7 @@ Notes
* All types are Big Endian, except for EdDSA, which is stored and transmitted
in a Little Endian format.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/Signature.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Signature.html
.. _type-Hash:
@ -303,7 +306,7 @@ Contents
````````
32 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/Hash.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Hash.html
.. _type-SessionTag:
@ -318,7 +321,7 @@ Contents
````````
32 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/SessionTag.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/SessionTag.html
.. _type-TunnelId:
@ -335,7 +338,7 @@ Contents
````````
4 byte Integer_
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/TunnelId.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/TunnelId.html
.. _type-Certificate:
@ -415,16 +418,15 @@ Key 5 4+ 7+ Since 0.9.12. See below for d
Key Certificates
````````````````
Key certificates are preliminary, and are scheduled to be introduced in release
0.9.12. Prior to that release, all PublicKeys were 256-byte ElGamal keys, and
all SigningPublicKeys were 128-byte DSA-SHA1 keys. A key certificate provides
a mechanism to indicate the type of the PublicKey and SigningPublicKey in the
Destination or RouterIdentity, and to package any key data in excess of the
standard lengths.
Key certificates were introduced in release 0.9.12. Prior to that release, all
PublicKeys were 256-byte ElGamal keys, and all SigningPublicKeys were 128-byte
DSA-SHA1 keys. A key certificate provides a mechanism to indicate the type of
the PublicKey and SigningPublicKey in the Destination or RouterIdentity, and to
package any key data in excess of the standard lengths.
By maintaining exactly 384 bytes before the certificate, and putting any excess
key data inside the certificate, we maintain compatibility for any software
that parses Destinations and RouterIdentities.
that parses Destinations and Router Identities.
The key certificate payload contains:
@ -439,26 +441,31 @@ Excess Crypto Public Key Data 0+
The defined Signing Public Key types are:
==================== ========= ======================= ======
Type Type Code Total Public Key Length Since
==================== ========= ======================= ======
DSA_SHA1 0 128 0.9.12
ECDSA_SHA256_P256 1 64 0.9.12
ECDSA_SHA384_P384 2 96 0.9.12
ECDSA_SHA512_P521 3 132 0.9.12
RSA_SHA256_2048 4 256 0.9.12
RSA_SHA384_3072 5 384 0.9.12
RSA_SHA512_4096 6 512 0.9.12
EdDSA_SHA512_Ed25519 7 32 0.9.15
==================== ========= ======================= ======
====================== =========== ======================= ====== =====
Type Type Code Total Public Key Length Since Usage
====================== =========== ======================= ====== =====
DSA_SHA1 0 128 0.9.12 Legacy Router Identities and Destinations, never explicitly set
ECDSA_SHA256_P256 1 64 0.9.12 Recent Destinations
ECDSA_SHA384_P384 2 96 0.9.12 Sometimes used for Destinations
ECDSA_SHA512_P521 3 132 0.9.12 Sometimes used for Destinations
RSA_SHA256_2048 4 256 0.9.12 Offline only; never used in Key Certificates for Router Identities or Destinations
RSA_SHA384_3072 5 384 0.9.12 Offline only; never used in Key Certificates for Router Identities or Destinations
RSA_SHA512_4096 6 512 0.9.12 Offline only; never used in Key Certificates for Router Identities or Destinations
EdDSA_SHA512_Ed25519 7 32 0.9.15 Recent Router Identities and Destinations
EdDSA_SHA512_Ed25519ph 8 32 0.9.25 Offline only; never used in Key Certificates for Router Identities or Destinations
reserved 65280-65534 Reserved for experimental use
reserved 65535 Reserved for future expansion
====================== =========== ======================= ====== =====
The defined Crypto Public Key types are:
======= ========= =======================
Type Type Code Total Public Key Length
======= ========= =======================
ElGamal 0 256
======= ========= =======================
======== =========== ======================= =====
Type Type Code Total Public Key Length Usage
======== =========== ======================= =====
ElGamal 0 256 All Router Identities and Destinations
reserved 65280-65534 Reserved for experimental use
reserved 65535 Reserved for future expansion
======== =========== ======================= =====
When a Key Certificate is not present, the preceeding 384 bytes in the
Destination or RouterIdentity are defined as the 256-byte ElGamal PublicKey
@ -484,20 +491,21 @@ future revision of this document.
Example layouts using an ElGamal Crypto Public Key and the Signing Public Key
type indicated:
==================== ============== ===============================
Signing Key Type Padding Length Excess Signing Key Data in Cert
==================== ============== ===============================
DSA_SHA1 0 0
ECDSA_SHA256_P256 64 0
ECDSA_SHA384_P384 32 0
ECDSA_SHA512_P521 0 4
RSA_SHA256_2048 0 128
RSA_SHA384_3072 0 256
RSA_SHA512_4096 0 384
EdDSA_SHA512_Ed25519 96 0
==================== ============== ===============================
====================== ============== ===============================
Signing Key Type Padding Length Excess Signing Key Data in Cert
====================== ============== ===============================
DSA_SHA1 0 0
ECDSA_SHA256_P256 64 0
ECDSA_SHA384_P384 32 0
ECDSA_SHA512_P521 0 4
RSA_SHA256_2048 0 128
RSA_SHA384_3072 0 256
RSA_SHA512_4096 0 384
EdDSA_SHA512_Ed25519 96 0
EdDSA_SHA512_Ed25519ph 96 0
====================== ============== ===============================
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/Certificate.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Certificate.html
.. _type-Mapping:
@ -571,7 +579,7 @@ Notes
.. _I2CP SessionConfig: {{ site_url('docs/spec/i2cp') }}#struct_SessionConfig
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/DataHelper.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/DataHelper.html
Common structure specification
@ -646,7 +654,7 @@ Notes
* The Crypto Public Key is aligned at the start and the Signing Public Key is
aligned at the end. The padding (if any) is in the middle.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/KeysAndCert.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/KeysAndCert.html
.. _struct-RouterIdentity:
@ -675,7 +683,7 @@ Notes
* The Crypto Public Key is aligned at the start and the Signing Public Key is
aligned at the end. The padding (if any) is in the middle.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/router/RouterIdentity.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/router/RouterIdentity.html
.. _struct-Destination:
@ -708,7 +716,7 @@ Notes
* The Crypto Public Key is aligned at the start and the Signing Public Key is
aligned at the end. The padding (if any) is in the middle.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/Destination.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Destination.html
.. _struct-Lease:
@ -756,7 +764,7 @@ Notes
`````
* Total size: 44 bytes
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/Lease.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/Lease.html
.. _struct-LeaseSet:
@ -892,7 +900,7 @@ Notes
publishes the actual lease expiration for each lease. This is an
implementation detail and not part of the structures specification.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/LeaseSet.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/LeaseSet.html
.. _struct-RouterAddress:
@ -964,7 +972,7 @@ Notes
present in most router addresses: "host" (an IPv4 or IPv6 address or host
name) and "port".
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/router/RouterAddress.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/router/RouterAddress.html
.. _struct-RouterInfo:
@ -1065,7 +1073,7 @@ Notes
* See the network database page [NETDB-ROUTERINFO]_ for standard options that
are expected to be present in all router infos.
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/router/RouterInfo.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/router/RouterInfo.html
.. _struct-DeliveryInstructions:

View File

@ -2,8 +2,8 @@
Configuration File Specification
================================
.. meta::
:lastupdated: November 2015
:accuratefor: 0.9.24
:lastupdated: February 2016
:accuratefor: 0.9.25
Overview
@ -376,9 +376,23 @@ Properties are as follows::
# an inproxy. Default false.
tunnel.N.option.rejectInproxy=true|false
# HTTP Servers only. Whether to reject incoming connections containing a
# referer header. Default false. Since 0.9.25.
tunnel.N.option.rejectReferer=true|false
# HTTP Servers only. Whether to reject incoming connections containing
# specific user-agent headers. Default false. Since 0.9.25. See
# tunnel.N.option.userAgentRejectList
tunnel.N.option.rejectUserAgents=true|false
# Servers only. Overrides targetHost and targetPort for incoming port NNNN.
tunnel.N.option.targetForPort.NNNN=hostnameOrIP:nnnn
# HTTP Servers only. Comma-separated list of strings to match in the
# user-agent header. Since 0.9.25. Example: "Mozilla,Opera". Case-sensitive.
# See tunnel.N.option.rejectUserAgents
tunnel.N.option.userAgentRejectList=string1[,string2]*
# Default false. For servers, use SSL for connections to local server. For
# clients, SSL is required for connections from local clients.
tunnel.N.option.useSSL=false
@ -440,7 +454,7 @@ References
==========
.. [DATAHELPER]
http://docs.i2p-projekt.de/javadoc/net/i2p/data/DataHelper.html
http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/DataHelper.html
.. [Mapping]
{{ ctags_url('Mapping') }}

View File

@ -1340,7 +1340,7 @@ References
{{ site_url('docs/protocol/i2cp', True) }}#format
.. [I2CP-JAVADOCS]
http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2cp/package-summary.html
http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/i2cp/package-summary.html
.. [Integer]
{{ ctags_url('Integer') }}
@ -1356,7 +1356,7 @@ References
{{ ctags_url('Mapping') }}
.. [MSM-JAVADOCS]
http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2cp/MessageStatusMessage.html
http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/i2cp/MessageStatusMessage.html
.. [PrivateKey]
{{ ctags_url('PrivateKey') }}

View File

@ -2,8 +2,8 @@
I2NP Specification
==================
.. meta::
:lastupdated: January 2015
:accuratefor: 0.9.17
:lastupdated: January 2016
:accuratefor: 0.9.24
Overview
@ -172,6 +172,9 @@ Notes
research to determine points in the protocol stack where the far-end router's
version is known and checksum generation can be disabled.
* The short expiration is unsigned and will wrap around on Feb. 7, 2106. As of
that date, an offset must be added to get the correct time.
.. _struct-BuildRequestRecord:
BuildRequestRecord
@ -532,22 +535,24 @@ Delivery Instructions!
Messages
========
========================= ====
Message Type
========================= ====
DatabaseStore_ 1
DatabaseLookup_ 2
DatabaseSearchReply_ 3
DeliveryStatus_ 10
Garlic_ 11
TunnelData_ 18
TunnelGateway_ 19
Data_ 20
TunnelBuild_ 21
TunnelBuildReply_ 22
VariableTunnelBuild_ 23
VariableTunnelBuildReply_ 24
========================= ====
================================== =======
Message Type
================================== =======
DatabaseStore_ 1
DatabaseLookup_ 2
DatabaseSearchReply_ 3
DeliveryStatus_ 10
Garlic_ 11
TunnelData_ 18
TunnelGateway_ 19
Data_ 20
TunnelBuild_ 21
TunnelBuildReply_ 22
VariableTunnelBuild_ 23
VariableTunnelBuildReply_ 24
Reserved for experimental messages 224-254
Reserved for future expansion 255
================================== =======
.. _msg-DatabaseStore:
@ -1124,6 +1129,11 @@ A length Integer, followed by opaque data.
actual payload of this message
{% endhighlight %}
Notes
`````
* This message contains no routing information and will never be sent
"unwrapped". It is only used inside `Garlic` messages.
.. _msg-TunnelBuild:
TunnelBuild
@ -1159,6 +1169,10 @@ Notes
* The I2NP message ID for this message must be set according to the tunnel
creation specification.
* While this message is rarely seen in today's network, having been replaced by
the `VariableTunnelBuild` message, it may still be used for very long tunnels,
and has not been deprecated. Routers must implement.
.. _msg-TunnelBuildReply:
TunnelBuildReply
@ -1177,6 +1191,10 @@ Notes
* The I2NP message ID for this message must be set according to the tunnel
creation specification.
* While this message is rarely seen in today's network, having been replaced by
the `VariableTunnelBuildReply` message, it may still be used for very long
tunnels, and has not been deprecated. Routers must implement.
.. _msg-VariableTunnelBuild:
VariableTunnelBuild
@ -1210,6 +1228,8 @@ Notes
* The I2NP message ID for this message must be set according to the tunnel
creation specification.
* Typical number of records in today's network is 5.
.. _msg-VariableTunnelBuildReply:
VariableTunnelBuildReply
@ -1235,6 +1255,8 @@ Notes
* The I2NP message ID for this message must be set according to the tunnel
creation specification.
* Typical number of records in today's network is 5.
References
==========

View File

@ -2,8 +2,8 @@
Plugin Specification
====================
.. meta::
:lastupdated: May 2015
:accuratefor: 0.9.20
:lastupdated: February 2016
:accuratefor: 0.9.25
Overview
@ -154,7 +154,7 @@ The following properties are used to add a link on the console summary bar:
consoleLinkTooltip_xx
lang xx as of 0.7.12-6
The following optional property may be used to add a custom icon on the
The following optional properties may be used to add a custom icon on the
console:
console-icon
@ -165,6 +165,14 @@ console:
A path within the webapp to a 32x32 image, e.g. /icon.png
Applies to all webapps in the plugin.
icon-code
supported as of 0.9.25
Provides a console icon for plugins without web resources.
A B64 string produced by calling `net.i2p.data.Base64 encode FILE` on a
32x32 png image file.
The following properties are used by the plugin installer:
type
@ -547,17 +555,49 @@ Classpaths
The following jars in $I2P/lib can be assumed to be in the standard classpath
for all I2P installations, no matter how old or how new the original
installation::
installation:
i2p.jar, router.jar, jbigi.jar, sam.jar, mstreaming.jar, streaming.jar, i2ptunnel.jar,
org.mortbay.jetty.jar, javax.servlet.jar, jasper-compiler.jar, jasper-runtime.jar,
commons-logging.jar, commons-el.jar, wrapper.jar, systray.jar, systray4j.jar
===================== ============================ =====
Jar Contains Usage
===================== ============================ =====
commons-logging.jar Apache Logging For plugins requiring Apache logging.
Prior to Jetty 6 (release 0.9), this
contained Apache Commons Logging only.
From release 0.9 to release 0.9.23, this
contained both Commons Logging and Tomcat JULI.
As of release 0.9.24, this contains
Apache Tomcat JULI logging only.
commons-el.jar JSP Expressions Language For plugins with JSPs that use EL
i2p.jar Core API Almost all plugins will need
i2ptunnel.jar I2PTunnel For plugins with HTTP or other servers
jasper-compiler.jar nothing Empty since Jetty 6 (release 0.9)
jasper-runtime.jar Jasper Compiler and Runtime, Needed for plugins with JSPs
and some Tomcat utils
javax.servlet.jar Servlet API Needed for plugins with JSPs
jbigi.jar Binaries No plugin should need
mstreaming.jar Streaming API Almost all plugins will need
org.mortbay.jetty.jar Jetty Base Only plugins starting their own Jetty instance
will need. Recommended way of starting Jetty
is with net.i2p.jetty.JettyStart in jetty-i2p.jar.
router.jar Router Only plugins using router context will need; most will not
sam.jar SAM API No plugin should need
streaming.jar Streaming Implementation Almost all plugins will need
systray.jar URL Launcher Most plugins should not need
systray4j.jar Systray No plugin should need
wrapper.jar Router Most plugins should not need
===================== ============================ =====
The following jars in $I2P/lib can be assumed to be present for all I2P
installations, no matter how old or how new the original installation, but are
not necessarily in the classpath::
not necessarily in the classpath:
jstl.jar, standard.jar
============ =============== =====
Jar Contains Usage
============ =============== =====
jstl.jar Standard Taglib For plugins using JSP tags
standard.jar Standard Taglib For plugins using JSP tags
============ =============== =====
Anything not listed above may not be present in everybody's classpath, even if
you have it in the classpath in YOUR version of i2p. If you need any jar not
@ -575,29 +615,28 @@ required classpath for each client.
Java Version Notes
==================
While most I2P users are running a 1.6 (6.0) JVM, we support 1.5 (5.0) and
higher JVMs. Unless you require 1.6 features, you should create your plugin so
it works on 1.5.
I2P has required Java 7 since release 0.9.24 (January 2016).
I2P has required Java 6 since release 0.9.12 (April 2014).
Any I2P users on the latest release should be running a 1.7 (7.0) JVM.
In early 2016, unless you require 1.7 language or library features, you should
create your plugin so it works on 1.6. Later in the year, most of the network
will be on 0.9.24 or higher with Java 7.
If your plugin **does not require 1.6**:
If your plugin **does not require 1.7**:
* Ensure that all java and jsp files are compiled with source="1.5"
target="1.5".
* Ensure that all java and jsp files are compiled with source="1.6"
target="1.6".
* Ensure that all bundled library jars are also for 1.5 or lower.
* Ensure that all bundled library jars are also for 1.6 or lower.
* If you are using pack200, any 1.6 classes in a jar will cause pack200 to
create a 1.6 pack format, and plugin installation will fail on a 1.5 system
with the misleading message "plugin is corrupt".
If your plugin **requires 1.6**:
If your plugin **requires 1.7**:
* Note that on your download page.
* Add min-java-version=1.6 to your plugin.config
* Add min-java-version=1.7 to your plugin.config
* If you are using pack200, plugin installation will fail on a 1.5 system with
the misleading message "plugin is corrupt".
In any case, you **must** set a bootclasspath when compiling with Java 8 to
prevent runtime crashes.
JVM Crashes When Updating

View File

@ -659,6 +659,9 @@ Notes
* If Alice includes her address/port, Bob may perform additional validation
before continuing.
* Prior to release 0.9.24, Java I2P rejected any address or port that was
different from the connection.
* Challenge is unimplemented, challenge size is always zero
* There are no plans to implement relaying for IPv6.

View File

@ -2,8 +2,8 @@
Tunnel Creation Specification
=============================
.. meta::
:lastupdated: September 2014
:accuratefor: 0.9.15
:lastupdated: January 2016
:accuratefor: 0.9.24
.. _tunnelCreate.overview:
@ -126,8 +126,15 @@ When a hop receives a TunnelBuildMessage, it looks through the records
contained within it for one starting with their own identity hash (trimmed to
16 bytes). It then decrypts the ElGamal block from that record and retrieves
the protected cleartext. At that point, they make sure the tunnel request is
not a duplicate by feeding the AES-256 reply key into a bloom filter.
Duplicates or invalid requests are dropped.
not a duplicate by feeding the AES-256 reply key into a Bloom filter.
Duplicates or invalid requests are dropped. Records that are not stamped with
the current hour, or the previous hour if shortly after the top of the hour,
must be dropped. For example, take the hour in the timestamp, convert to a full
time, then if it's more than 65 minutes behind or 5 minutes ahead of the current
time, it is invalid. The Bloom filter must have a duration of at least one hour
(plus a few minutes, to allow for clock skew), so that duplicate records in the
current hour that are not rejected by checking the hour timestamp in the record,
will be rejected by the filter.
After deciding whether they will agree to participate in the tunnel or not,
they replace the record that had contained the request with an encrypted reply
@ -296,8 +303,6 @@ Future Work
* Further analysis of possible tagging and timing attacks described in the
above notes.
* The Bloom filter rotation time should be evaluated.
* Use only VTBM; do not select old peers that don't support it.
* The Build Request Record does not specify a tunnel lifetime or expiration;

View File

@ -300,7 +300,7 @@ instructions are:
total length: 7 bytes
{% endhighlight %}
JavaDoc: http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2np/DeliveryInstructions.html
JavaDoc: http://{{ i2pconv('i2p-javadocs.i2p') }}/net/i2p/data/i2np/DeliveryInstructions.html
Notes

View File

@ -2,7 +2,6 @@
body {
font-family: Droid Sans, Helvetica, sans-serif;
font-size: 10px;
background-color: #ffffdd;
min-height: 800px;
width: 100%;
@ -46,10 +45,20 @@ div.hide {
display: none
}
div#topbar .title, div#content > .title {
font-family: "URW Gothic L", "Century Gothic", sans-serif;
text-transform: uppercase;
font-size: 2.1875rem;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
color: #333333;
line-height:41px;
vertical-align:middle;
}
div#topbar {
width: 80%;
/*margin: 1em auto;*/
margin: 1em auto;
margin: 0.625em auto;
position: relative;
}
@ -83,7 +92,6 @@ div#content .main {
position: relative;
margin: 0 auto;
text-shadow: 1px 1px 1px rgba(255,255,255,.5);
font-size: 1.6em;
line-height: 1.5em;
border: 2px solid #abcc71;
border-left: none;
@ -94,6 +102,7 @@ div#content .main {
div#content .main h1 {
font-family: "URW Gothic L", "Century Gothic", sans-serif;
font-size: 2.5em;
line-height: 1em;
text-shadow: 1px 1px 2px rgba(0,0,0,.3);
color: white;
margin-bottom: .5em;
@ -119,14 +128,14 @@ div#content .main h1 {
div#content .aside-wrap {
width: 80%;
margin: 2em auto;
margin: 1.25em auto;
}
div#content .aside {
position: relative;
display: inline-block;
vertical-align: top;
font-size: 1.2em;
font-size: 0.75rem;
}
div#content .aside a {
@ -152,7 +161,7 @@ div#content .aside ul {
div#content .aside ul li {
list-style-type: none;
margin: 1em 0;
line-height: 1.3em;
line-height: 1.5em;
}
div#content .feed-icon {
@ -165,53 +174,93 @@ div#content .feed-icon {
width: 28px;
}
div#content .lastupdated {
background-color: #ffffdd;
border-radius: 0 0 5px 5px;
padding: 2px 4px;
position: relative;
left: 8%;
text-align: right;
width: 80%;
}
/**
* The .inner class is for the content wrapper on inner pages (as opposed to the home page)
*/
div#content .inner {
width: auto;
margin: 0 5%;
padding: 0 5% 0.1em;
position: relative;
background: rgba(171, 204, 113, 0.6);
background: rgba(0, 0, 0, 0.05);
border-top: 2px solid #abcc71;
border-left: 2px solid #abcc71;
border-right: 2px solid #abcc71;
border-radius: 5px 5px 0 0;
color: black;
font-size: 1.2em;
line-height: 1.4em;
line-height: 1.5em;
position: relative;
width: auto;
}
div#content .inner:before {
box-shadow: 0 6px 12px -12px inset;
content: " ";
height: 12px;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
div#content .inner:after {
bottom: 0;
box-shadow: 0px -6px 12px -12px inset;
content: " ";
height: 12px;
left: 0;
position: absolute;
width: 100%;
}
div#content .inner .fluid {
background-color: #fefff1;
}
div#content .sidebar {
background: white;
border-bottom: 1px solid #abcc71;
font-size: 0.875rem;
}
div#content .sidebar .top {
border-bottom: 2px solid #abcc71;
}
div#content .sidebar nav {
background: rgba(171, 204, 113, 0.6);
padding: 1em;
}
div#content .sidebar nav ol {
margin: 0;
padding-left: 1em;
}
div#content .sidebar nav ul {
margin: 0;
padding-left: 0.5em;
}
div#content .inner .meta,
div#content .inner .box {
background-color: #ffffdd;
border: 1px dashed;
padding: 0.5em 1em;
position: relative;
}
div#content .inner .meta {
text-align: center;
}
div#content .content-inner {
padding: 1em 2em;
}
div#content .inner h1,
div#content .inner h2,
div#content .inner h3,
div#content .inner h4 {
color: white;
text-shadow: 1px 1px 1px rgba(0,0,0,.3);
margin: 1em 0 .5em;
padding-bottom: .2em;
clear: both;
line-height: 110%;
}
div#content .inner h2,
div#content .inner h3,
div#content .inner h4 {
border-bottom: 1px solid white
}
div#content .inner h1 {
font-size: 2.2em;
margin: 1em 0 0.5em;
@ -220,7 +269,8 @@ div#content .inner h1 {
}
div#content .inner h2 {
font-size: 1.6em
font-size: 1.6em;
border-bottom: 1px solid black
}
div#content .inner h3 {
@ -258,6 +308,11 @@ div#content .inner td.blue {
color: blue;
}
div#content .inner .box img {
height: auto;
max-width: 100%;
}
/*
* Download page
*/
@ -271,13 +326,17 @@ div#content .inner td.blue {
.os {
color: white;
font-size: 1.6em;
font-weight: bold;
text-align: center;
text-decoration: underline;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.os img {
height: auto;
max-width: 100%;
}
.file {
margin-bottom: 10px
}
@ -297,8 +356,8 @@ div#content .inner td.blue {
padding: 10px;
}
.file .default .name {
font-size: 1.6em
.file .default .mirror {
font-size: 0.75em;
}
.file .mirrors,
@ -307,6 +366,8 @@ div#content .inner td.blue {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
display: inline-block;
font-size: 0.75em;
line-height: 1em;
width: 50%;
}
@ -319,8 +380,13 @@ div#content .inner td.blue {
vertical-align: top;
}
.details .hash {
overflow: auto;
}
.details .hash:before {
content: 'SHA256: '
content: 'SHA256: ';
font-size: 0.8125em;
}
.warning {
@ -352,8 +418,12 @@ div#content .inner ul.DREAD {
* Additions to syntax.css
*/
.highlight {
overflow: auto
.highlight > pre {
white-space: pre-wrap; /* CSS-3 */
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
/*
@ -402,6 +472,19 @@ div#content .inner ul.DREAD {
text-align: left !important;
}
pre.literal-block {
overflow: auto;
}
/*
* Papers
*/
.biblinks {
border-bottom: 1px solid;
}
/*
* Footer
*/
@ -410,7 +493,7 @@ div#content .inner ul.DREAD {
width: auto;
border-top: 3px solid #883333;
background: #552222;
box-shadow: 0px -4px 8px rgba(0,0,0,.3);
font-size: 0.75rem;
padding: 1em 10%;
background: -moz-linear-gradient(#883333, #772222);
}

View File

@ -8,4 +8,16 @@ div#topbar #logo {
div#content .feed-icon {
float: left
}
}
/** Content **/
div#content .sidebar nav ol {
padding-left: 0;
padding-right: 1em;
}
div#content .sidebar nav ul {
padding-left: 0;
padding-right: 0.5em;
}

View File

@ -1,9 +1,9 @@
body {
padding-top: 1em;
padding-top: 0.625em;
}
div#topbar {
margin: 1em auto 0;
margin: 0.625em auto 0;
}
div#topbar #logo img:hover {
@ -13,12 +13,6 @@ div#topbar #logo img:hover {
}
div#topbar .title {
font-family: "URW Gothic L", "Century Gothic", sans-serif;
text-transform: uppercase;
font-size: 3.5em;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
color: #333333;
/*position: absolute;*/
top:0;
right:0;
@ -84,7 +78,7 @@ menu ul,
color: #d00e0e;
display: inline-block;
font-family: "URW Gothic L", "Century Gothic", sans-serif;
font-size: 2em;
font-size: 1.25em;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(100,20,20,.2);
line-height: 40px;
@ -234,31 +228,40 @@ div#content .main {
div#content .aside {
width: 30.9%;
margin-left: 3%;
font-size: 1.3em;
font-size: 0.875rem;
}
div#content .aside:first-child {
margin-left: 0%
}
div#content .lastupdated {
left: auto;
position: absolute;
right: 10%;
top: 0;
width: 200px;
}
/**
* The .inner class is for the content wrapper on inner pages (as opposed to the home page)
*/
div#content .inner {
padding: 4em 5% 2em;
font-size: 1.3em;
div#content .inner .fluid {
background-image: url('images/bg-sidebar.png');
background-repeat: repeat-y;
border-left: 1px solid #abcc71;
margin-left: 0.625rem;
}
div#content .inner > .title {
div#content .inner .sidebar {
border-right: 1px solid #abcc71;
float: left;
width: 250px;
}
div#content .inner .sidebar, div#content .inner .sidebar > nav {
border-radius: 0 0 10px 0;
}
div#content .content-inner {
margin-left: 252px;
padding-right: 4em;
}
div#content > .title {
display: none
}
@ -275,24 +278,41 @@ div#content .inner > .title {
.package .details {
float: right;
width: 80%;
width: 78%;
}
.file {
float: left;
width: 40%;
width: 100%;
}
.file .default {
clear: left;
border-radius: 5px;
float: left;
max-width: 67%;
}
.file .mirrors,
.file .sig {
clear: right;
float: right;
width: 25%;
}
.file .mirrors {
border-radius: 5px 5px 0 0;
}
.file .sig {
border-radius: 0 0 5px 5px;
}
.file > a:hover {
box-shadow: 1px 1px 1px 1px rgb(51, 51, 51) inset
}
.details .hash {
float: right;
overflow: auto;
width: 50%;
}
.details > div,
.details > p,
.details > ol {
clear: both
@ -304,13 +324,6 @@ div#content .inner > .title {
/* End of downloads list CSS */
.biblinks {
left: auto;
position: absolute;
right: 10%;
top: 0;
}
#global-footer .aside {
width: 15%;
margin-left: 1%;

View File

@ -57,6 +57,31 @@ div#content .main {
-o-transform: rotate(5deg);
}
/** Content **/
div#content .inner .fluid {
background-position: right;
border-left: none;
border-right: 2px solid #abcc71;
margin-left: 0;
margin-right: 0.625rem;
}
div#content .inner .sidebar {
border-radius: 0 0 0 10px;
border-left: 2px solid #abcc71;
border-right: none;
float: right;
}
div#content .content-inner {
margin-left: 0;
margin-right: 252px;
padding-left: 4em;
padding-right: 2em;
}
/** Downloads list **/
.package .os {
@ -71,6 +96,13 @@ div#content .main {
float: right
}
.details .hash {
float: left
}
.file .default {
clear: right;
float: right;
}
.file .mirrors,
.file .sig {
clear: left;
float: left;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -117,18 +117,15 @@ div#content .aside {
width: 100%
}
div#content > .title {
margin-top: 0.5em;
text-align: center;
}
div#content .inner {
margin-top: 1em
}
div#content .inner .title {
margin-top: 1em
}
.details .hash {
display: none
}
#global-footer .aside {
margin-left: 1%;
width: 49%;
@ -138,4 +135,4 @@ div#content .inner .title {
#global-footer .aside.third,
#global-footer .aside.fifth {
margin-left: 0
}
}

View File

@ -0,0 +1,12 @@
div#content .inner .fluid {
border-right: 1px solid #abcc71;
margin-right: 30%;
}
div#content .inner .meta {
position: absolute;
left: 72%;
margin: 1em 0;
right: 2%;
text-align: left;
}

View File

@ -0,0 +1,11 @@
div#content .inner .fluid {
border-left: 2px solid #abcc71;
margin-left: 30%;
}
div#content .inner .meta {
position: absolute;
left: 2%;
right: 72%;
text-align: right;
}

View File

@ -11,6 +11,7 @@ I2P_TO_CLEAR = {
'trac.i2p2.i2p': 'trac.i2p2.de',
'mail.i2p': 'i2pmail.org',
'lists.i2p2.i2p': 'lists.i2p2.de',
'i2p-javadocs.i2p': 'docs.i2p-projekt.de/javadoc', # Hacky to include the path, but it works!
'stats.i2p': 'stats.i2p', # Inproxy disabled at request of site owner
'zzz.i2p': 'zzz.i2p', # Inproxy disabled at request of site owner
}