Merge branch 'i2p:master' into master

This commit is contained in:
Sadie Mascis
2023-07-20 11:24:28 -04:00
committed by GitHub
505 changed files with 61621 additions and 71567 deletions

View File

@ -1,60 +1,60 @@
[main]
host = https://www.transifex.com
host = https://www.transifex.com
lang_map = ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, zh_CN: zh
[I2P.website_about]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/about.po
source_file = pots/about.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_about]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/about.po
source_file = pots/about.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_blog]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/blog.po
source_file = pots/blog.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_blog]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/blog.po
source_file = pots/blog.pot
source_lang = en
type = PO
minimum_perc = 2
[I2P.website_comparison]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/comparison.po
source_file = pots/comparison.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_comparison]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/comparison.po
source_file = pots/comparison.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_docs]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/docs.po
source_file = pots/docs.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_docs]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/docs.po
source_file = pots/docs.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_get-involved]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/get-involved.po
source_file = pots/get-involved.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_get-involved]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/get-involved.po
source_file = pots/get-involved.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_misc]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/misc.po
source_file = pots/misc.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_misc]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/misc.po
source_file = pots/misc.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_priority]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/priority.po
source_file = pots/priority.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_priority]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/priority.po
source_file = pots/priority.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_research]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/research.po
source_file = pots/research.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_research]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/research.po
source_file = pots/research.pot
source_lang = en
type = PO
minimum_perc = 10

View File

@ -1,10 +1,12 @@
FROM debian:buster
FROM debian:oldoldstable
ENV SERVERNAME=geti2p.net
ENV SERVERMAIL=example@geti2p.net
WORKDIR /var/www/i2p.www
## Install the dependencies
#RUN #grep -v security.debian /etc/apt/sources.list > /etc/apt/sources.list.bak && \
#grep -v stretch-updates /etc/apt/sources.list.bak > /etc/apt/sources.list && \
RUN apt-get update && \
apt-get -y install apache2 apache2-utils libapache2-mod-wsgi python2-dev python-pip patch python-virtualenv git python-polib

View File

@ -1,5 +1,56 @@
#! /usr/bin/env sh
virtualenv --distribute env
. env/bin/activate
#./setup_venv.sh
DEV=on ./runserver.py
#! /usr/bin/env bash
## Set additional docker run arguments by changing the variable
## i2p_www_docker_run_args in an optional file called config.sh
## for example
##
##i2p_www_docker_run_args='-d'
## to run the site in the background, or
##
##i2p_www_docker_run_args='-t'
## to emulate a TTY
## To operate a quick and easy mirror of the I2P Site in a container
## simply clone the i2p.www source to a host with Docker installed, then
## add:
##
##i2p_www_docker_run_args='-d'
## to config.sh
##
## Then add:
##
##*/10 * * * * /path/to/i2p.www/site-updater-docker.sh
##
## to a crontab belonging to a member of the `docker` group. To add yourself
## to the `docker` group use the command:
##
##sudo adduser $(whoami) docker
##
## a more secure solution may be to create a user especially to run the
## docker crontab only, who is a member of the docker group. To do this,
##
##sudo adduser --disabled-password --disabled-login --ingroup docker docker
## however the specifics may vary from distribution to distribution.
dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
if [ -f "${dir}/config.sh" ]; then
. "${dir}/config.sh"
fi
if [ -z $port ]; then
port="8090"
fi
if [ -z $i2p_www_branch ]; then
i2p_www_branch=master
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" || exit
cd "$DIR" || exit
git pull origin $i2p_www_branch
docker build $i2p_www_docker_build_args -t mirror.i2p.www$suffix .
docker rm -f mirror.i2p.www$suffix
docker run -it $i2p_www_docker_run_args --env DEV:on --name mirror.i2p.www$suffix --net=host --volume $(pwd)/env:/env mirror.i2p.www$suffix ./runserver.py
docker logs -f mirror.i2p.www$suffix

View File

@ -22,8 +22,8 @@ except ImportError:
###########
# Constants
CURRENT_I2P_VERSION = '2.2.1'
CURRENT_I2P_FIREFOX_PROFILE_VERSION = '2.2.0'
CURRENT_I2P_VERSION = '2.3.0'
CURRENT_I2P_FIREFOX_PROFILE_VERSION = '2.3.0'
CURRENT_I2P_OSX_VERSION = '1.9.0'
CANONICAL_DOMAIN = 'geti2p.net'

View File

@ -7,13 +7,13 @@ Update on Mac Easy Install Notarization
:author: idk,sadie
:date: 2023-01-31
:category: release
:excerpt: {% trans %}{% endtrans %}
:excerpt: {% trans %}Easy Install Bundle for Mac is stalled{% endtrans %}
{% trans -%}
The I2P Easy-Install Bundle for Mac has been experiencing stalled updates for the past 2 releases due to the departure of its maintainer.
For the time being, it is temporarily recommended that existing Easy-Install users delay updating and remain on 1.9.0 until the development team can successfully notarize the application and resume automatic updates.
The updates will happen immediately once this has happened.
For now, 1.9.0 is stable and has no known critical security issues.
It is recommended that users of the Easy-Install bundle for Mac switch to the classic java-style installer which was recently restored to the download page.
1.9.0 has known security issues and is not suitable for hosting services or any long-term use. Users are advised to migrate away as soon as possible.
Advanced users of the Easy-Install bundle may work around this by compiling the bundle from source and self-signing the software.
{%- endtrans %}
{% trans -%}The Notarization Process For MacOS{%- endtrans %}

View File

@ -7,7 +7,7 @@ I2P Release 2.2.0
:author: idk
:date: 2023-03-13
:category: release
:excerpt: {% trans %}{% endtrans %}
:excerpt: {% trans %}Moved Post{% endtrans %}
{% trans -%}
`This blog post has been moved here </en/blog/post/2023/03/13/new_release_2.2.0>`_

View File

@ -7,7 +7,7 @@ I2P Release 2.2.0
:author: idk
:date: 2023-03-13
:category: release
:excerpt: {% trans %}{% endtrans %}
:excerpt: {% trans %}DDoS Mitigations, New Release Maintainer{% endtrans %}
{% trans -%}
We have elected to move forward the 2.2.0 release date, which will be occurring today, March 13, 2023.
@ -86,4 +86,4 @@ The best way to maintain security and help the network is to run the latest rele
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.0
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.0

View File

@ -0,0 +1,67 @@
{% trans -%}
=================
I2P Release 2.3.0
=================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-06-25
:category: release
:excerpt: {% trans %}I2P 2.3.0: Security Fixes, Tweakable Blocklists{% endtrans %}
{% trans -%}
This release contains fixes for CVE-2023-36325.
CVE-2023-36325 is a context-confusion bug which occurred in the bloom filter.
An attacker crafts an I2NP message containing a unique messageID, and sends that messageID to a client.
The message, after passing through the bloom filter, is not allowed to be re-used in a second message.
The attacker then sends the same message directly to the router.
The router passes the message to the bloom filter, and is dropped.
This leaks the information that the messageID has been seen before, giving the attacker a strong reason to believe that the router is hosting the client.
This has been fixed by separting the bloom filter's functionality into different contexts based on whether a message came down a client tunnel, an exploratory tunnel, was sent to the router directly.
Under normal circumstances, this attack takes several days to perform successfully and may be confounded by several factors such as routers restarting during the attack phase and sensitivity to false-positives.
Users of Java I2P are recommended to update immediately to avoid the attack.
{%- endtrans %}
{% trans -%}
In the course of fixing this context confusion bug, we have revised some of our strategies to code defensively, against these types of leaks.
This includes tweaks to the netDb, the rate-limiting mechanisms, and the behavior of floodfill routers.
{%- endtrans %}
{% trans -%}
This release adds not_bob as a second default hosts provider, and adds `notbob.i2p <http://notbob.i2p>`_ and `ramble.i2p <http://ramble.i2p>`_ to the console homepage.
{%- endtrans %}
{% trans -%}
This release also contains a tweakable blocklist.
Blocklisting is semi-permanent, each blocked IP address is normally blocked until the router is restarted.
Users who observe explosive blocklist growth during sybil attacks may opt-in to shorter timeouts by configuring the blocklist to expire entries at an interval.
This feature is off-by-default and is only recommended for advanced users at this time.
{%- endtrans %}
{% trans -%}
This release also includes an API for plugins to modify with the Desktop GUI(DTG).
It is now possible to add menu items to the system tray, enabling more intuitive launching of plugins which use native application interfaces.
{%- endtrans %}
{% 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 %}
**DETAILS**
*Changes*
- {% trans %}netDb: Throttle bursts of netDB lookups{% endtrans %}
- {% trans %}Sybil/Blocklist: Allow users to override blocklist expiration with an interval{% endtrans %}
- {% trans %}DTG: Provide an API for extending DTG with a plugin{% endtrans %}
- {% trans %}Addressbook: add notbob's main addressbook to the default subscriptions.{% endtrans %}
- {% trans %}Console: Add Ramble and notbob to console homepage{% endtrans %}
*Bug Fixes*
- {% trans %}Fix replay attack: CVE-2023-36325{% endtrans %}
- {% trans %}Implement handling of multihomed routers in the netDb{% endtrans %}
- {% trans %}Fully copy new leaseSets when a leaseSet recievedAsPublished overwrites a leaseSet recievedAsReply{% endtrans %}
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.3.0

View File

@ -0,0 +1,45 @@
{% trans -%}
=======================================
Easy-Install for Windows 2.3.0 Released
=======================================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-07-10
:category: release
:excerpt: {% trans %}Easy-Install for Windows 2.3.0 Released{% endtrans %}
{% trans -%}
The I2P Easy-Install bundle for Windows version 2.3.0 has now been released.
As usual, this release includes an updated version of the I2P router.
This extends to security issues which affect people hosting services on the network.
{%- endtrans %}
{% trans -%}
This will be the last release of the Easy-Install bundle which will be incompatible with the I2P Desktop GUI.
It has been updated to include new versions of all included webextensions.
A longstanding bug in I2P in Private Browsing which makes it incompatible with custom themes has been fixed.
Users are still advised to *not* install custom themes.
Snark tabs are not automatically pinned to the top of the tab order in Firefox.
Except for using alternate cookieStores, Snark tabs now behave as normal browser tabs.
{%- endtrans %}
{% trans -%}
**Unfortunately, this release is still an unsigned `.exe` installer.**
Please verify the checksum of the installer before using it.
**The updates, on the other hand** are signed by my I2P signing keys and therefore safe.
{%- endtrans %}
{% trans -%}
This release was compiled with OpenJDK 20.
It uses i2p.plugins.firefox version 1.1.0 as a library for launching the browser.
It uses i2p.i2p version 2.3.0 as an I2P router, and to provide applications.
As always it is recommended that you update to the latest version of the I2P router at your earliest convenient opportunity.
{%- endtrans %}
- `Easy-Install Bundle Source <http://git.idk.i2p/i2p-hackers/i2p.firefox/-/tree/i2p-firefox-2.3.0>`_
- `Router Source <http://git.idk.i2p/i2p-hackers/i2p.i2p/-/tree/i2p-2.3.0>`_
- `Profile Manager Source <http://git.idk.i2p/i2p-hackers/i2p.plugins.firefox/-/tree/1.1.0>`_

View File

@ -7,7 +7,7 @@ I2P Release 2.2.1
:author: idk
:date: 2023-04-12
:category: release
:excerpt: {% trans %}{% endtrans %}
:excerpt: {% trans %}Packaging Fixes{% endtrans %}
{% trans -%}
After the I2P 2.2.0 release, which was moved forward to accelerate mitigations for the DDOS attacks, we learned about a few developing issues which made it necessary to build and release new packages.
@ -37,4 +37,4 @@ The best way to maintain security and help the network is to run the latest rele
- {% trans %}Remove invalid signing keys from old installs{% endtrans %}
- {% trans %}Update Tomcat version in Ubuntu Lunar and Debian Sid{% endtrans %}
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.1
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.1

View File

@ -140,6 +140,8 @@ def render_blog_post(slug):
with codecs.open(path, encoding='utf-8') as fd:
content = fd.read()
#print(content)
# render the post with Jinja2 to handle URLs etc.
rendered_content = render_template_string(content)

View File

@ -29,7 +29,7 @@ services:
<h4 id="volumes">{% trans -%}Volumes{%- endtrans %}</h4>
<p>{% trans -%}The container requires a volume for the configuration data to be mounted. Optionally, you can mount a separate volume for torrent (“i2psnark”) downloads. See the example below.{%- endtrans %}</p>
<h4 id="memory-usage">{% trans -%}Memory usage{%- endtrans %}</h4>
<p>{% trans -%}By the default the image limits the memory available to the Java heap to 512MB. You can override that with the <code>JVM_XMX</code> environment variable.{%- endtrans %}</p>
<p>{% trans -%}By default the image limits the memory available to the Java heap to 512MB. You can override that with the <code>JVM_XMX</code> environment variable.{%- endtrans %}</p>
<h4 id="ports">{% trans -%}Ports{%- endtrans %}</h4>
<p>{% trans -%}There are several ports which are exposed by the image. You can choose which ones to publish depending on your specific needs.{%- endtrans %}</p>
<table>

View File

@ -60,7 +60,7 @@ special configuration. You don't even need to close existing Firefox windows.
{%- set name = 'Windows' -%}
{%- set icon = 'images/download/windows.png' -%}
{%- set filename = 'I2P-Easy-Install-Bundle-%s.exe' -%}
{%- set hash = '5ebfb374bcf70f80080e628401f5310f3882853b880d5c8a041705096e063bb5' -%}
{%- set hash = 'def95180e5783686f68dcf2958cfa693f17a91da53a97f8ae75c98529c4e23a8' -%}
{% call package_outer('windows', name, icon) %}
<div class = "file">

View File

@ -45,7 +45,7 @@ start an installer, "double-click" the downloaded .exe file.
{%- set name = 'Windows' -%}
{%- set icon = 'images/download/windows.png' -%}
{%- set filename = 'I2P-Easy-Install-Bundle-%s.exe' -%}
{%- set hash = '5ebfb374bcf70f80080e628401f5310f3882853b880d5c8a041705096e063bb5' -%}
{%- set hash = 'def95180e5783686f68dcf2958cfa693f17a91da53a97f8ae75c98529c4e23a8' -%}
{% call package_outer('windows', name, icon) %}
<div class = "file">

View File

@ -1,4 +1,4 @@
{% extends "global/layout.html" %} {%- from "downloads/macros" import package, package_outer with context -%} {% set release_signer = 'zzz' %} {% block title %}{{ _('Download') }}{% endblock %} {% block content_nav %}
{% extends "global/layout.html" %} {%- from "downloads/macros" import package, package_outer with context -%} {% set release_signer = 'idk' %} {% block title %}{{ _('Download') }}{% endblock %} {% block content_nav %}
<script type="text/javascript" src="/_static/site.js"></script>
<ul>
<li><a href="#windows">Windows</a></li>
@ -51,16 +51,17 @@ If you would like to try the latest experimental I2P projects, visit the <a href
</div>
{% endcall %}
<h5>{%- trans %}I2P Easy Install Bundle for Mac OS X{%- endtrans %}</h5>
{% call package_outer('mac', "Mac OS X", 'images/download/mac-osx.png') %}
<h3>{% trans %}I2P Easy Install Bundle for Mac OS X{% endtrans %}</h3>
<p>{% trans i2pversion=ver() -%}The I2P Easy Install Bundle for Mac OS X is packaged using OSX's standard ".dmg" package type, which allows it to use Apple's built-in tools to securely, reliably, and easily install the package. It does not require Java to be installed.
<h5>{%- trans %}I2P for Mac OS X{%- endtrans %}</h5>
{% call package('mac') %}
<p>{% trans i2pversion=ver() -%} I2P is available as a Java application for Mac OSX. It is distributed as a Java <code>.jar</code> installer and therefore MacOS will ask you for explicit permission to run the software.
{%- endtrans %}</p>
<div class="file">
<a class="default" href="{{ get_url('downloads_mac') }}">{% trans %}I2P Easy Install Bundle for Mac OS X{% endtrans %}</a>
<p></p>
<a class="default" href="{{ get_url('downloads_mac') }}">{% trans %}Here is a helpful guide to installing I2P for Mac OS using a separate Java installation and the classic installer.{% endtrans %}</a>
</div>
{% endcall %}
<h5>{%- trans %}I2P for Linux{%- endtrans %}</h5>
{% call package('unix') %}
<p>{% trans i2pversion=ver() -%} The most reliable way to launch the installer is from a terminal like this:

View File

@ -1,7 +1,7 @@
{% set i2pinstall_windows_hash = '9e25abed16c783ed964f504f72069d07da148850471b8250ecf2f4ea5da710bd' %}
{% set i2pinstall_jar_hash = 'c9879b8f69ea13c758672c2fa083dc2e0abb289e0fc9a55af98f9f1795f82659' %}
{% set i2psource_hash = 'f53f34fbe23a8762e3786572751b301befb28288efb6b1042d4fc64c6610784f' %}
{% set i2pupdate_hash = '5d46d3029327aedcf6b1828082ecad725a92d0b2dc540dc0005912ed894774c6' %}
{% set i2pinstall_windows_hash = '2081f8415013c80daa6b69b6f16f2ebf10aa20ee3cace20936e0268b2e816a3f' %}
{% set i2pinstall_jar_hash = '977ebce33001345731de6fe0b623f59a867de6fa6a6c46d8ad686e306310b28d' %}
{% set i2psource_hash = 'a0a8fb08e9c72eaef22f155b9c9aa0ea90fb331d2bbcf76f82649f0b9efe5f5b' %}
{% set i2pupdate_hash = '59b569dc17fad0e30e246048a3c275e403b308024eb88fda29ae83294bdbe8e6' %}
{% set i2p_android_hash = '272acf543c4489dc3775c07c42eb91710b4ed377c78aff605e3d44e73fad5110' %}
{% set i2p_macnative_hash = '18cb22cfcc3cbe0cec150e89a394d1a35703cb508ed627ef48084b7ba7c90dde' %}
@ -48,7 +48,7 @@
{%- set signame = 'i2pupdate_%s.zip.sig' -%}
{%- set hash = i2pupdate_hash -%}
{%- elif type == 'macnative' -%}
{%- set name = _('Mac OS X Native (Beta)') -%}
{%- set name = _('Mac OS Native (Beta)') -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- set filename = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg' -%}
{%- set signame = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg.sig' -%}
@ -60,8 +60,11 @@
{%- set hash = 'geti2p/i2p@sha256:e622209388edc49b99d8216baa731b1f54a0634c87cd47c1739f2188891daf3a' -%}
{%- else -%}
{%- if type == 'mac' -%}
{%- set name = 'Mac OS X' -%}
{%- set name = 'Mac OS' -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- set filename = 'i2pinstall_%s.jar' -%}
{%- set signame = 'i2pinstall_%s.jar.sig' -%}
{%- set hash = i2pinstall_jar_hash -%}
{%- elif type == 'unix' -%}
{%- set name = 'Linux / BSD / Solaris' -%}
{%- set icon = 'images/download/freebsd-tux.png' -%}

View File

@ -677,7 +677,7 @@ For most low- to medium-bandwidth and low- to medium-connection counts,
2 or 3 is sufficient.
Please specify the tunnel quantities in the SESSION CREATE message
to get consistent performance with the Java I2P and i2pd routers,
using the options e.g. inbound.length=3 outbound.length=3.
using the options e.g. inbound.quantity=3 outbound.quantity=3.
These and other options <a href="#options">are documented in the links below</a>.
</p><p>

View File

@ -1,29 +1,21 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Release Signing Key') }}{% endblock %}
{% block content %}
<p>{% trans -%}
Windows installers for releases 0.9.38 and later are signed by zlatinb.
{%- endtrans %}<br>
<a href="{{ url_for('static', filename='zlatinb.key.crt') }}" >{% trans %}Download code signing certificate{% endtrans %}</a>
</p>
<p>{% trans -%}
Mac OSX installers for releases 0.9.38 and later are signed by zlatinb.
{%- endtrans %}<br>
<a href="{{ url_for('static', filename='zlatinb.key.crt') }}" >{% trans %}Download code signing certificate{% endtrans %}</a>
</p>
Releases 0.9.57 forward are signed by idk. His current public key is:
{%- endtrans %}</p>
<p>
<a href="{{ url_for('static', filename='idk.key.asc') }}" >{% trans %}Download PGP public key{% endtrans %}</a>
</p><p>
<p>{% trans -%}
Releases 0.7.6 and later are signed by zzz. His current public key is:
Releases 0.7.6 and 0.9.56 are signed by zzz. His current public key is:
{%- endtrans %}</p>
<p>
<a href="{{ url_for('static', filename='zzz.key.asc') }}" >{% trans %}Download PGP public key{% endtrans %}</a>
</p><p>
zzz's GPG subkeys were renewed in March 2019.
Use the link above to download the current public keys,
or download the key 415576BAA76E0BED from a key server.
Following is the original May 2014 announcement of the new keys.
</p><p>
</p>
<p>
<pre>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

View File

@ -15,79 +15,190 @@
Older releases are at the bottom of the page.
</p>
<h2 id="1.5.0">1.5.0 (API 0.9.51)</h2>
<p><b>Released: Aug. 23, 2021</b></p>
<h2 id="2.4.0">2.4.0 (API 0.9.60)</h2>
<p><b>Target release: September 2023</b></p>
<ul>
<li>
Accelerate rekeying routers to ECIES
NetDB context management
</li>
<li>
Start work on SSU2
Streaming replay fix
</li>
<li>
Implement new tunnel build messages (proposal 157)
Handle congestion capabilities by deprioritizing overloaded routers
</li>
<li>
Support dmg and exe automatic updates
"Install Plugin from File" command-line option
</li>
<li>
New native OSX installer
Generic UDP Tunnels in HSM
</li>
<li>
X-I2P-Location(alt-svc) locations for built-in I2P Site
Revive Android helper library
</li>
<li>
RRD4J 3.8
</li>
<li>
Create C, CGo, SWIG bindings for libi2pd
Website Migration
</li>
</ul>
<h2 id="1.6.1">1.6.1 (API 0.9.52)</h2>
<p><b>Released: Nov. 29, 2021</b></p>
<h2 id="2.3.0">2.3.0 (API 0.9.59)</h2>
<p><b>Target release: June 2023</b></p>
<ul>
<li>
Accelerate rekeying routers to ECIES
Tunnel peer selection improvements
</li>
<li>
SSU performance improvements
User-Configurable blocklist expiration
</li>
<li>
Improve SSU peer test security
Throttle fast bursts of lookup from same source
</li>
<li>
Add theme selection to new-install wizard
Fix replay detection information leak
</li>
<li>
Continue work on SSU2 (proposal 159)
NetDB fixes for multihomed leaseSets
</li>
<li>
Send new tunnel build messages (proposal 157)
</li>
<li>
Include automatic browser configuration tool in IzPack installer
</li>
<li>
Make Fork-and-Exec Plugins Managable
</li>
<li>
Document jpackage install processes
</li>
<li>
Complete, document Go/Java Plugin Generation Tools
</li>
<li>
Reseed Plugin - Run a self-signed HTTPS reseed as a Java router plugin with no configuration.
NetDB fixes for leaseSets which were received as a reply before being recieved as a store
</li>
</ul>
<h2 id="2.2.0">2.2.0 (API 0.9.58)</h2>
<p><b>Target release: April 2023</b></p>
<ul>
<li>
Tunnel peer selection improvements
</li>
<li>
Streaming replay fix
</li>
</ul>
<h2 id="2.1.0">2.1.0 (API 0.9.57)</h2>
<p><b>Released: January 10, 2023</b></p>
<ul>
<li>
SSU2 fixes
</li>
<li>
Tunnel build congestion fixes
</li>
<li>
SSU peer test and symmetric NAT detction fixes
</li>
<li>
Fix broken LS2 encrypted leasesets
</li>
<li>
Option to disable SSU 1 (preliminary)
</li>
<li>
Compressible padding (proposal 161)
</li>
<li>
New console peers status tab
</li>
<li>
Add torsocks support to SOCKS proxy and other SOCKS improvements and fixes
</li>
</ul>
<h2 id="2.0.0">2.0.0 (API 0.9.56)</h2>
<p><b>Released: November 21, 2022</b></p>
<ul>
<li>
SSU2 connection migration
</li>
<li>
SSU2 immediate acks
</li>
<li>
Enable SSU2 by default
</li>
<li>
SHA-256 digest proxy authentication in i2ptunnel
</li>
<li>
Update Android build process to use modern AGP, end need of deprecated Maven plugin in Android build
</li>
<li>
Cross-Platform(Desktop) I2P browser auto-configuration support
</li>
</ul>
<h2 id="1.9.0">1.9.0 (API 0.9.55)</h2>
<p><b>Released: August 22, 2022</b></p>
<ul>
<li>
SSU2 peer test and relay implementation
</li>
<li>
SSU2 fixes
</li>
<li>
SSU MTU/PMTU improvements
</li>
<li>
Enable SSU2 for a small portion of routers
</li>
<li>
Add deadlock detector
</li>
<li>
More certificate import fixes
</li>
<li>
Fix i2psnark DHT restart after router restart
</li>
</ul>
<h2 id="1.8.0">1.8.0 (API 0.9.54)</h2>
<p><b>Released: May 23, 2022</b></p>
<ul>
<li>
Router family fixes and improvements
</li>
<li>
Soft restart fixes
</li>
<li>
SSU fixes and performance improvements
</li>
<li>
I2PSnark standalond fixes and improvements
</li>
<li>
Avoid Sybil penalty for trusted families
</li>
<li>
Reduce tunnel build reply timeout
</li>
<li>
UPnP fixes
</li>
<li>
Remove BOB source
</li>
<li>
Certificate import fixes
</li>
<li>
Tomcat 9.0.62
</li>
<li>
Refactoring to support SSU2 (proposal 159)
</li>
<li>
Initial implementation of SSU2 base protocol (proposal 159)
</li>
<li>
SAM authorization popup for Android apps
</li>
<li>
Improve support for custom directory installs in i2p.firefox
</li>
</ul>
<h2 id="1.7.0">1.7.0 (API 0.9.53)</h2>
<p><b>Released: Feb. 21, 2022</b></p>
@ -148,176 +259,72 @@
</li>
</ul>
<h2 id="1.8.0">1.8.0 (API 0.9.54)</h2>
<p><b>Released: May 23, 2022</b></p>
<h2 id="1.6.1">1.6.1 (API 0.9.52)</h2>
<p><b>Released: Nov. 29, 2021</b></p>
<ul>
<li>
Router family fixes and improvements
Accelerate rekeying routers to ECIES
</li>
<li>
Soft restart fixes
SSU performance improvements
</li>
<li>
SSU fixes and performance improvements
Improve SSU peer test security
</li>
<li>
I2PSnark standalond fixes and improvements
Add theme selection to new-install wizard
</li>
<li>
Avoid Sybil penalty for trusted families
Continue work on SSU2 (proposal 159)
</li>
<li>
Reduce tunnel build reply timeout
Send new tunnel build messages (proposal 157)
</li>
<li>
UPnP fixes
Include automatic browser configuration tool in IzPack installer
</li>
<li>
Remove BOB source
Make Fork-and-Exec Plugins Managable
</li>
<li>
Certificate import fixes
Document jpackage install processes
</li>
<li>
Tomcat 9.0.62
Complete, document Go/Java Plugin Generation Tools
</li>
<li>
Refactoring to support SSU2 (proposal 159)
</li>
<li>
Initial implementation of SSU2 base protocol (proposal 159)
</li>
<li>
SAM authorization popup for Android apps
</li>
<li>
Improve support for custom directory installs in i2p.firefox
Reseed Plugin - Run a self-signed HTTPS reseed as a Java router plugin with no configuration.
</li>
</ul>
<h2 id="1.9.0">1.9.0 (API 0.9.55)</h2>
<p><b>Released: August 22, 2022</b></p>
<h2 id="1.5.0">1.5.0 (API 0.9.51)</h2>
<p><b>Released: Aug. 23, 2021</b></p>
<ul>
<li>
SSU2 peer test and relay implementation
Accelerate rekeying routers to ECIES
</li>
<li>
SSU2 fixes
Start work on SSU2
</li>
<li>
SSU MTU/PMTU improvements
Implement new tunnel build messages (proposal 157)
</li>
<li>
Enable SSU2 for a small portion of routers
Support dmg and exe automatic updates
</li>
<li>
Add deadlock detector
New native OSX installer
</li>
<li>
More certificate import fixes
X-I2P-Location(alt-svc) locations for built-in I2P Site
</li>
<li>
Fix i2psnark DHT restart after router restart
RRD4J 3.8
</li>
<li>
Create C, CGo, SWIG bindings for libi2pd
</li>
</ul>
<h2 id="2.0.0">2.0.0 (API 0.9.56)</h2>
<p><b>Released: November 21, 2022</b></p>
<ul>
<li>
SSU2 connection migration
</li>
<li>
SSU2 immediate acks
</li>
<li>
Enable SSU2 by default
</li>
<li>
SHA-256 digest proxy authentication in i2ptunnel
</li>
<li>
Update Android build process to use modern AGP, end need of deprecated Maven plugin in Android build
</li>
<li>
Cross-Platform(Desktop) I2P browser auto-configuration support
</li>
</ul>
<h2 id="2.1.0">2.1.0 (API 0.9.57)</h2>
<p><b>Released: January 10, 2023</b></p>
<ul>
<li>
SSU2 fixes
</li>
<li>
Tunnel build congestion fixes
</li>
<li>
SSU peer test and symmetric NAT detction fixes
</li>
<li>
Fix broken LS2 encrypted leasesets
</li>
<li>
Option to disable SSU 1 (preliminary)
</li>
<li>
Compressible padding (proposal 161)
</li>
<li>
New console peers status tab
</li>
<li>
Add torsocks support to SOCKS proxy and other SOCKS improvements and fixes
</li>
</ul>
<h2 id="2.2.0">2.2.0 (API 0.9.58)</h2>
<p><b>Target release: April 2023</b></p>
<ul>
<li>
Tunnel peer selection improvements
</li>
<li>
i2psnark UDP tracker support (proposal 160) ?
</li>
<li>
Custom reseed service entry for Android
</li>
<li>
UDP Hidden Service/Client support in Hidden Services Manager
</li>
<li>
Automatic reseed servers from .onion URLs
</li>
<li>
VPN-Mode Support in Android for browser configuration
</li>
<li>
Fix WebSockets in HTTP Server Tunnels
</li>
</ul>
<h4><a href="roadmap-archive">{% trans %}Looking for older releases? Check the roadmap archive by following this link.{% endtrans %}</a></h4>
{% endblock %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 KiB

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 B

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 692 B

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 B

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 803 B

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More