forked from I2P_Developers/i2p.www
add a page for the NSIS JPackage+Profile+I2P installer
This commit is contained in:
102
i2p2www/blog/2021/09/15/i2p-jpackages.draft.rst
Normal file
102
i2p2www/blog/2021/09/15/i2p-jpackages.draft.rst
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
==========================================================================
|
||||||
|
{% trans -%}Improving I2P Adoption and Onboarding using Jpackage, I2P-Zero{%- endtrans %}
|
||||||
|
==========================================================================
|
||||||
|
|
||||||
|
.. meta::
|
||||||
|
:author: idk
|
||||||
|
:date: 2021-09-15
|
||||||
|
:category: general
|
||||||
|
:excerpt: {% trans %}Versatile and emerging ways of installing and embedding I2P in your application{% endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
For the majority of I2P's existence, it's been an application that runs with the
|
||||||
|
help of a Java Virtual Machine that is already installed on the platform. This
|
||||||
|
has always been the normal way to distribute Java applications, but it leads to
|
||||||
|
a complicated installation procedure for many people. To make things even more
|
||||||
|
complicated, the "right answer" to making I2P easy to install on any given
|
||||||
|
platform might not be the same as any other platform. For example, I2P is quite
|
||||||
|
simple to install with standard tools on Debian and Ubuntu based operating
|
||||||
|
systems, because we can simply list the required Java components as "Required"
|
||||||
|
by our package, however on Windows or OSX, there is no such system allowing us to make
|
||||||
|
sure that a compatible Java is installed.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
The obvious solution would be to manage the Java installation ourselves, but
|
||||||
|
this used to a problem in-and-of-itself, outside of the scope of I2P. However,
|
||||||
|
in recent Java versions, a new set of options has emerged which has the
|
||||||
|
potential to solve this problem for many Java software. This exciting tool is
|
||||||
|
called **"Jpackage."**
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
I2P-Zero and Dependency-Free I2P Installation
|
||||||
|
{%- endtrans %}
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
The first very successful effort at building a dependency-free I2P Package was
|
||||||
|
I2P-Zero, which was created by the Monero project originally for use with the
|
||||||
|
Monero cryptocurrency. This project got us very excited because of it's success
|
||||||
|
in creating a general-purpose I2P router which could easily packaged with an
|
||||||
|
I2P application. Especially on Reddit, many people express their preference for
|
||||||
|
the simplicity of setting up an I2P-Zero router.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
This really proved to us that a dependency-free I2P Package which was easy to
|
||||||
|
install was possible using modern Java tools, but I2P-Zero's use case was a
|
||||||
|
little bit different than ours. It is best for embedded apps that need an I2P
|
||||||
|
router that they can easily control using it's convenient control port on port
|
||||||
|
"8051". Our next step would be to adapt the technology to the general-purpose
|
||||||
|
I2P Application.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
OSX Application Security Changes affect I2P IzPack Installer
|
||||||
|
{%- endtrans %}
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
The issue became more pressing in recent versions of Mac OSX, where it is no
|
||||||
|
longer straightforward to use the "Classic" installer which comes in the .jar
|
||||||
|
format. This is because the application is not "Notarized" by Apple authorities
|
||||||
|
and it is deemed a security risk. **However**, Jpackage can produce a .dmg file,
|
||||||
|
which can be notarized by Apple authorities, conveniently solving our problem.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
The new I2P .dmg installer, created by Zlatinb, makes I2P easier to install on
|
||||||
|
OSX than ever, no longer requiring users to install Java themselves and using
|
||||||
|
standard OSX installation tools in their prescribed ways. The new .dmg installer
|
||||||
|
makes setting up I2P on Mac OSX easier than it's ever been.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
Get the dmg_.
|
||||||
|
|
||||||
|
.. _dmg: https://geti2p.net/en/download/mac
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
The I2P of the future is Easy to Install
|
||||||
|
{%- endtrans %}
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
{% trans -%}
|
||||||
|
One of the things I hear from users the most is that if I2P wants adoption, it
|
||||||
|
needs to be easy to use for people. Many of them want a "Tor Browser Like" user
|
||||||
|
experience, to quote or paraphrase many familiar Redditors. Installation should
|
||||||
|
not require complicated and error-prone "post-installation" steps. Many new
|
||||||
|
users are not prepared to deal with their browser configuration in a thorough
|
||||||
|
and complete way. To address this problem, we created the I2P Profile Bundle
|
||||||
|
which configured Firefox so that it would automatically "Just Work" for I2P.
|
||||||
|
As it's developed, it's added security features and improved integration with
|
||||||
|
I2P itself. In it's latest version, it **also** bundles a complete, Jpackage
|
||||||
|
powered I2P Router. The I2P Firefox Profile is now a fully-fledged distribution
|
||||||
|
of I2P for Windows, with the only remaining dependency being Firefox itself.
|
||||||
|
This should provide an unprecedented level of convenience for I2P users on
|
||||||
|
Windows.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
Get the installer_.
|
||||||
|
|
||||||
|
.. _installer: https://geti2p.net/en/download/nsis
|
110
i2p2www/pages/downloads/nsis.html
Normal file
110
i2p2www/pages/downloads/nsis.html
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
{% extends "global/layout.html" %}
|
||||||
|
{%- from "downloads/macros" import package_outer with context -%}
|
||||||
|
{% block title %}Firefox Profile{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<h1>{{ _('I2P Easy Install Bundle(Beta)') }}</h1>
|
||||||
|
<p>{% trans -%}
|
||||||
|
This is an "All-in-One" installer which includes the complete I2P desktop
|
||||||
|
software and all of it's dependencies in a single, easy-to-install package. It
|
||||||
|
is built on the premise that I2P should be easy, and that we should help our
|
||||||
|
users get their initial configuration in place instead of requiring an elaborate
|
||||||
|
install process.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
<h2>{{ _('Is it a Zero-Dependency I2P Browser?') }}</h2>
|
||||||
|
<p><strong>{% trans -%}
|
||||||
|
Not yet.
|
||||||
|
{%- endtrans %}</strong>{% trans issueurl="https://i2pgit.org/i2p-hackers/i2p.firefox/-/issues/2" -%} For now, this installer still requires
|
||||||
|
Firefox to be installed on the system, it does not bundle a Firefox installer of
|
||||||
|
it's own. This was a judgement made to protect users of the bundle, we believe
|
||||||
|
that you should obtain your Firefox distribution from a vendor who can provide
|
||||||
|
updates. Please obtain Firefox from Mozilla. If you would like to discuss
|
||||||
|
supporting other browsers, please join the discussion on the
|
||||||
|
<a href="{{ issueurl }}">Gitlab Issue</a>.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
<h2>{{ _('Why should I use it?') }}</h2>
|
||||||
|
<p>{% trans -%}
|
||||||
|
This installer package reduces the number of steps required to install an I2P
|
||||||
|
router on Windows from about 30 to a matter of completing a single, familiar
|
||||||
|
installer process, combining the I2P installation and Browser configuration into
|
||||||
|
the same steps. Besides that, it launches the user directly into the
|
||||||
|
automatically configured I2P browser with their applications ready-to-use, with
|
||||||
|
no need to refer to potentially unhelpful system-wide Windows settings.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
<h2>{{ _('How do I use it?') }}</h2>
|
||||||
|
<p>{% trans firefox="https://www.mozilla.org/", postfilename=pver('I2P-Profile-Installer-%s.exe') -%}
|
||||||
|
First, download and install <a href="{{ firefox }}">Firefox</a>, then,
|
||||||
|
just download and install <a href="{{ postfilename }}">this installer</a>.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
|
||||||
|
{%- set name = 'Windows' -%}
|
||||||
|
{%- set icon = 'images/download/windows.png' -%}
|
||||||
|
{%- set filename = 'I2P-Profile-Installer-%s.exe' -%}
|
||||||
|
{%- set hash = '8eb1e9f69200a42192acabe4686bb3541f7f409b2f9702f2f9e5c6870515fa56' -%}
|
||||||
|
|
||||||
|
{% call package_outer('windows', name, icon) %}
|
||||||
|
<div class = "file">
|
||||||
|
<a class = "default" href="{{ url_for('downloads_redirect', version=pver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=pver(filename) )}}">
|
||||||
|
<span class = "name">{{ pver(filename) }}</span><br/>
|
||||||
|
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
|
||||||
|
</a>
|
||||||
|
<a class="mirrors" href="{{ get_url('downloads_select', version=pver(), file=pver(filename)) }}">{{ _('select alternate mirror') }}</a>
|
||||||
|
</div>
|
||||||
|
<div class="meta">
|
||||||
|
<div class="hash">
|
||||||
|
<code>{{ hash }}</code>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>{% trans -%}
|
||||||
|
Download that file and complete the steps it shows.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
|
{% trans signer='zlatinb',
|
||||||
|
signingkey=url_for('static', filename='zlatinb.key.crt') -%}
|
||||||
|
The files are signed by {{ signer }},
|
||||||
|
<a href="{{ signingkey }}">whose key is here</a>.
|
||||||
|
{%- endtrans %}
|
||||||
|
|
||||||
|
<h2>{{ _('What is in it?') }}</h2>
|
||||||
|
<p>{% trans -%}
|
||||||
|
This browser profile also includes both the NoScript and HTTPSEverywhere plugin for
|
||||||
|
better protection Javascript based attacks and HTTPS support where available. It
|
||||||
|
also keeps your I2P search activity separate from your visible internet search
|
||||||
|
activity. The profile configures the I2P Proxy for all sites and browser features.
|
||||||
|
I2P In Private Browsing is used to provide I2P-Specific browser integrations.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
<h3>{{ _('Source Code and Issue Tracking') }}</h3>
|
||||||
|
<div>{% trans -%}
|
||||||
|
If you would like to examine the source code for individual components, you may
|
||||||
|
find it on i2pgit.org or github.com. The license for each respective component
|
||||||
|
can be found in the license directory of the <code>i2p.firefox</code> project.
|
||||||
|
{%- endtrans %}</div>
|
||||||
|
<div><a href="https://i2pgit.org/i2p-hackers/i2p.firefox">{% trans -%}Gitlab Repository{%- endtrans %}</a></div>
|
||||||
|
<div><a href="https://github.com/i2p/i2p.firefox">{% trans -%}Github Repository{%- endtrans %}</a></div>
|
||||||
|
<div>{% trans -%}
|
||||||
|
If you wish to file an issue about the Firefox profile, please use Gitlab to
|
||||||
|
contact us. For security-sensitive issues, please remember to check the
|
||||||
|
"This issue is confidential and should only be visible to team members with at least Reporter access"
|
||||||
|
option when filing the issue.
|
||||||
|
{%- endtrans %}</div>
|
||||||
|
<div><a href="https://i2pgit.org/i2p-hackers/i2p.firefox/issues">{% trans -%}Gitlab Repository{%- endtrans %}</a></div>
|
||||||
|
<h2>{{ _('How is it different from Tor Browser?') }}</h2>
|
||||||
|
<p>{% trans -%}
|
||||||
|
This is not a fork of Firefox. Instead, it is a browser profile with pre-configured
|
||||||
|
settings, combined with an I2P router and some launcher scripts. That means that
|
||||||
|
it requires Firefox(Or Tor Browser) to be installed before you can use it. This
|
||||||
|
is for security reasons, it is important that you are able to recieve reliable
|
||||||
|
updates from a trustworthy vendor. As much as we would like to, we can't
|
||||||
|
maintain a whole Firefox fork and provide timely updates for it right now.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
<p>{% trans -%}
|
||||||
|
I2P routers are designed to have long uptimes, and so unlike Tor Browser, the
|
||||||
|
lifetime of your I2P Router is not tied to the lifetime of your I2P browsing
|
||||||
|
session. The browser profile will manage your history, your browser's local
|
||||||
|
storage and cache, and your browsing context but it will never stop your I2P
|
||||||
|
router on it's own. You may stop the router using the web interface on the
|
||||||
|
router console homepage.
|
||||||
|
{%- endtrans %}</p>
|
||||||
|
|
||||||
|
{% endblock %}
|
Reference in New Issue
Block a user