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