diff --git a/i2p2www/blog/2021/09/15/i2p-jpackages.draft.rst b/i2p2www/blog/2021/09/15/i2p-jpackages.draft.rst new file mode 100644 index 00000000..70c39d0f --- /dev/null +++ b/i2p2www/blog/2021/09/15/i2p-jpackages.draft.rst @@ -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 diff --git a/i2p2www/pages/downloads/nsis.html b/i2p2www/pages/downloads/nsis.html new file mode 100644 index 00000000..767b30ed --- /dev/null +++ b/i2p2www/pages/downloads/nsis.html @@ -0,0 +1,110 @@ +{% extends "global/layout.html" %} +{%- from "downloads/macros" import package_outer with context -%} +{% block title %}Firefox Profile{% endblock %} +{% block content %} + +
{% 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 %}
+{% trans -%} +Not yet. +{%- endtrans %}{% 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 +Gitlab Issue. +{%- endtrans %}
+{% 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 %}
+{% trans firefox="https://www.mozilla.org/", postfilename=pver('I2P-Profile-Installer-%s.exe') -%} +First, download and install Firefox, then, +just download and install this installer. +{%- endtrans %}
+ +{%- 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) %} +{% trans -%} + Download that file and complete the steps it shows. + {%- endtrans %}
+{% endcall %} + +{% trans signer='zlatinb', +signingkey=url_for('static', filename='zlatinb.key.crt') -%} +The files are signed by {{ signer }}, +whose key is here. +{%- endtrans %} + +{% 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 %}
+i2p.firefox
project.
+{%- endtrans %}{% 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 %}
+{% 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 %}
+ +{% endblock %}