propagate from branch 'i2p.www' (head aecd236e03c176955fd21d0d293f0731f65dc929)

to branch 'i2p.www.revamp' (head c0bf7e66ba62462bfa138be2e880de4422b0c959)
This commit is contained in:
str4d
2013-07-16 09:30:00 +00:00
1347 changed files with 186734 additions and 58818 deletions

View File

@@ -0,0 +1,200 @@
{% extends "global/layout.html" %}
{% block title %}Debian/Ubuntu{% endblock %}
{% block content %}
<h1>{{ _('Debian I2P Packages') }}</h1>
{% trans -%}
The packages hosted on <a href="https://launchpad.net/%7Ei2p-maintainers/+archive/i2p">the I2P Launchpad site</a>
have been tested and <em>should </em>work on x86/x86_64 platforms running:
{%- endtrans %}
<ul>
<li>{% trans %}<a href="#ubuntu">Ubuntu</a> (Precise <em>12.04</em> and newer){% endtrans %}</li>
<li><a href="#ubuntu">Mint</a></li>
<li>{% trans %}<a href="#debian">Debian Linux</a> (Wheezy and newer) &amp; <a href="#nonlinux">kFreeBSD</a>{% endtrans %}</li>
<li><a href="#debian">Knoppix</a></li>
</ul>
{% trans trac=i2pconv('trac.i2p2.i2p') -%}
The I2P packages <em>may</em> work on systems not listed above. Please report any issues
with these packages on <a href="http://{{ trac }}">Trac</a> at
<a href="http://{{ trac }}">http://{{ trac }}</a>.
{%- endtrans %}
<ul>
<li>{% trans %}Option 1: <a href="#ubuntu">Recent versions</a> of Ubuntu and its derivatives (<em>Try this if you're not using Debian)</em>{% endtrans %}</li>
<li>{% trans %}Option 2: <a href="#debian">Debian</a> (including Debian-derivatives){% endtrans %}</li>
<li>{% trans %}Option 3: <a href="#nonlinux">Non-Linux</a> (and possibly Non-x86 architectures){% endtrans %}</li>
</ul>
<h2 id="ubuntu">{{ _('Instructions for Ubuntu Precise Pangolin (and newer) and derivatives like Linux Mint &amp; Trisquel') }}</h2>
<h5>{{ _('Adding the PPA via the command line and installing I2P') }}</h5>
<ol>
<li>
{% trans %}Open a terminal and enter:{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; sudo apt-add-repository ppa:i2p-maintainers/i2p</code><br />
{% trans -%}
This command will add the PPA to /etc/apt/sources.list.d and fetch the
gpg key that the repository has been signed with. The GPG key ensures
that the packages have not been tampered with since being built.
{%- endtrans %}
</li>
<li>
{% trans %}Notify your package manager of the new PPA by entering:{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; sudo apt-get update</code><br />
{% trans -%}
This command will retrieve the latest list of software from each
repository that is enabled on your system, including the I2P PPA that
was added with the earlier command.
{%- endtrans %}
</li>
<li>{% trans %}You are now ready to install I2P!{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;sudo apt-get install i2p</code></li>
</ol>
<h5>{{ _('Adding the PPA Using Synaptic') }}</h5>
<ol>
<li>
{% trans -%}
Open Synaptic (System -&gt; Administration -&gt; Synaptic Package Manager).
{%- endtrans %}
</li>
<li>
{% trans -%}
Once Synaptic opens, select <em>Repositories</em> from the <em>Settings</em> menu.
{%- endtrans %}
</li>
<li>
{% trans -%}
Click the <em>Other Sources</em> tab and click <em>Add</em>. Paste <code>ppa:i2p-maintainers/i2p</code> into the APT-line field and click <em>Add Source</em>. Click the <em>Close</em> button then <em>Reload</em>.
{%- endtrans %}
</li>
<li>
{% trans -%}
In the Quick Filter box, type in <code>i2p</code> and press enter. When <code>i2p</code> is returned in the results list, right click <code>i2p</code> and select <em>Mark for Installation</em>. After doing so you may see a <em>Mark additional required changes?</em> popup. If so, click <em>Mark</em> then <em>Apply</em>.
{%- endtrans %}
</li>
</ol>
{% trans -%}
After the installation process completes you can move on to the next
part of <a href="#Post-install_work">starting I2P</a> and configuring it for your system.
{%- endtrans %}
<h2 id="debian">{{ _('Instructions for Debian Lenny and newer') }}</h2>
<p>(<em>{% trans %}For Squeeze you can follow the instructions <a href="#nonlinux">here</a>.{% endtrans %}</em>)</p>
{% trans -%}
The steps below should be performed with root access (i.e., switching
user to root with "su" or by prefixing each command with "sudo").
{%- endtrans %}
<ol>
<li>
{% trans %}Add the GPG key that signs the repository with the following command:{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <a href="http://keyserver.ubuntu.com:11371/pks/lookup?search=0x474BC46576FAE76E97C1A1A1AB9660B9EB2CC88B&amp;op=index">EB2CC88B</a></code><br />
{% trans %}You'll have output like the following if the command was successful:{% endtrans %}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="{{ url_for('static', filename='images/add-key-terminal.png') }}" alt="" />
</li>
<li>
{% trans %}Add the following entries to <code>/etc/apt/sources.list.d/i2p.list</code>{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu raring main <br />
&nbsp;&nbsp;&nbsp; deb-src http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu raring main </code><br />
</li>
<li>
{% trans %}Notify your package manager of the new PPA by entering{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; apt-get update</code><br />
{% trans -%}
This command will retrieve the latest list of software from every
repository enabled on your system, including the I2P PPA added in step
1.
{%- endtrans %}
</li>
<li>
{% trans %}You are now ready to install I2P!{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; apt-get install i2p</code></li>
</ol>
{% trans -%}
After the installation process completes you can move on to the next part of <a href="#Post-install_work">starting I2P</a> and configuring it for your system.
{%- endtrans %}
<h2 id="nonlinux">{{ _('Instructions for Non-Linux / Non-x86') }}</h2>
{% trans -%}
The steps below should be performed with root access (i.e., switching
user to root with "<code>su</code>" or by prefixing each command with "<code>sudo</code>").
{%- endtrans %}<br />
<ol>
<li>
{% trans ppa='http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu/pool/main/i/i2p/',
kytv='http://'+i2pconv('killyourtv.i2p')+'/debian/' -%}
Download the <a href="{{ ppa }}">i2p-router</a> package from the <a href="{{ ppa }}">PPA</a>.
Alternatively, there are unofficial packages available <a href="{{ kytv }}">here</a> for <code>armel, armhf, and kfreebsd</code>.
{%- endtrans %}
</li>
<li>
{% trans -%}
Make sure that you have Java installed. Running <em><code>apt-get install default-jre</code></em> should be sufficient.{% endtrans %}<br />
{% trans %}You are now ready to install I2P!{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; dpkg -i i2p-router_*.deb</code>
</li>
<li>
{% trans jbigi=site_url('misc/jbigi') -%}
It is recommended to compile <a href="{{ jbigi }}">jbigi</a> for your system to achieve better performance. Instructions are available <a href="{{ jbigi }}">here</a>.
{%- endtrans %}
</li>
</ol>
{% trans -%}
After the installation process completes you can move on to the next part of <a href="#Post-install_work">starting I2P</a> and configuring it for your system.
{%- endtrans %}
<h2 id="Post-install_work">{{ _('Post-install work') }}</h2>
{% trans -%}
Using these I2P packages the I2P router can be started in the following
three ways:
{%- endtrans %}
<ul>
<li>
{% trans -%}
&quot;on demand&quot; using the i2prouter script. Simply run &quot;<code>i2prouter
start</code>&quot; from a command prompt. (Note: Do <strong><u>not</u></strong> use
sudo or run it as root!)
{%- endtrans %}
</li>
<li>
{% trans -%}
&quot;on demand&quot; without the <a href="http://wrapper.tanukisoftware.com/">java service wrapper</a>
(needed on non-Linux/non-x86 systems) by running "<code>i2prouter-nowrapper</code>".
(Note: Do <strong><u>not</u></strong>
use sudo or run it as root!)
{%- endtrans %}
</li>
<li>
{% trans -%}
as a service that automatically runs when your system boots, even
before logging in. The service can be enabled with "<code>dpkg-reconfigure
i2p</code>" as root or using sudo. This is the recommended means of operation.
{%- endtrans %}
</li>
</ul>
<p>{% trans -%}
When installing for the first time, please remember to <b>adjust your NAT/firewall</b>
if you can. The ports to forward can be found on the <a href="http://127.0.0.1:7657/confignet">
network configuration page</a> in the router console. If guidance with respect to forwarding ports is needed,
you may find <a href="http://portforward.com">portforward.com</a> to be helpful.
{%- endtrans %}</p>
<p>{% trans -%}
Please review and <b>adjust the bandwidth settings</b> on the
<a href="http://127.0.0.1:7657/config.jsp">configuration page</a>,
as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative.
{%- endtrans %}</p>
<p>{% trans browserconfig=site_url('about/browser-config') -%}
If you want to reach eepsites via your browser, have a look on the <a href="{{ browserconfig }}">browser proxy setup</a> page for an easy howto.
{%- endtrans %}</p>
{% endblock %}

View File

@@ -0,0 +1,310 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Download') }}{% endblock %}
{% block content %}
<h1>{{ _('Download I2P') }}</h1>
<h3>{{ _('Dependency') }}</h3>
<p>{% trans java='http://java.com/download/',
openjdk='http://openjdk.java.net/install/',
icedtea='http://icedtea.classpath.org/wiki/Main_Page' %}
Java Runtime 1.5 or higher.
(<a href="{{ java }}">Oracle Java Version 6/7</a>,
<a href="{{ openjdk }}">OpenJDK 6/7</a>, or
<a href="{{ icedtea }}">IcedTea6/7</a>
recommended)
<br />
<a href="http://java.com/en/download/installed.jsp?detect=jre&amp;try=1">Determine your installed Java version here</a>
or type <tt>java -version</tt> at your command prompt.
{% endtrans %}</p>
<h3>{{ _('Clean installs') }}</h3>
<div class="downloadlist">
<div class="package">
<h1>Windows</h1>
<div class="file">
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s_windows.exe')) }}">i2pinstall_{{ ver() }}_windows.exe</a> ({{ def_mirror.org }})
(<a href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s_windows.exe')) }}">{{ _('select alternate link') }}</a>)
<div class="sig">
(SHA256
<code>48c10fe5c7455e134df44717215ed66ff79cfb2dd03fbfd64c14b3d5c179eab7</code>
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s_windows.exe.sig')) }}">sig</a>)
</div>
</div>
<div class="details">
{% trans -%}
Download that file and run it.
{%- endtrans %}
</div>
</div>
<div class="package">
<h1>Mac OS X</h1>
<div class="file">
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar')) }}">i2pinstall_{{ ver() }}.jar</a> ({{ def_mirror.org }})
(<a href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s.jar')) }}">{{ _('select alternate link') }}</a>)
<div class="sig">
(SHA256
<code>c0a67051bb0c6f1e4ce3ac8a04257063c4b606b76309b39a6c3daeaaa3888e04</code>
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar.sig')) }}">sig</a>)
</div>
</div>
<div class="details">
{% trans i2pversion=ver() -%}
Download that file and double-click it (if that works) or
type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the
installer.
You may be able to right-click and select
&quot;Open with Java&quot;.
{%- endtrans %}
<h2>{% trans %}Command line (headless) install:{% endtrans %}</h2>
{% trans i2pversion=ver() -%}
Download the {{ i2pversion }} OSX graphical installer file above and
run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line.
{%- endtrans %}
</div>
</div>
<div class="package">
<h1>GNU/Linux / BSD / Solaris</h1>
<div class="file">
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar')) }}">i2pinstall_{{ ver() }}.jar</a> ({{ def_mirror.org }})
(<a href="{{ get_url('downloads_select', version=ver(), file=ver('i2pinstall_%s.jar')) }}">{{ _('select alternate link') }}</a>)
<div class="sig">
(SHA256
<code>c0a67051bb0c6f1e4ce3ac8a04257063c4b606b76309b39a6c3daeaaa3888e04</code>
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pinstall_%s.jar.sig')) }}">sig</a>)
</div>
</div>
<div class="details">
{% trans i2pversion=ver() -%}
Download that file and double-click it (if that works) or
type <code>java -jar i2pinstall_{{ i2pversion }}.jar</code> in a terminal to run the
installer.
On some platforms you may be able to right-click and select
&quot;Open with Java&quot;.
{%- endtrans %}
<h2>{% trans %}Command line (headless) install:{% endtrans %}</h2>
{% trans i2pversion=ver() -%}
Download the graphical installer file above and
run <code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> from the command line.
{%- endtrans %}
</div>
</div>
<div class="package">
<h1>Debian / Ubuntu</h1>
<div class="details">
<a href="{{ get_url('downloads_select', version=ver(), file='debian') }}">{% trans %}Packages for Debian &amp; Ubuntu are available.{% endtrans %}</a>
</div>
</div>
<div class="package">
<h1>Android</h1>
<div class="file">
<a href="http://{{ i2pconv('stats.i2p') }}/i2p.apk">i2p-android-0.9.1-0_b1-API8.apk</a>
<div class="sig">
(SHA256
<code>66ed388e8038529dd3a18dcf2f18bd627a75156c98d094e92499fdb124bf4948</code>
)
</div>
</div>
<div class="details">
{% trans spongeurl='http://'+i2pconv('sponge.i2p') -%}
The Android version of I2P is being actively developed.
The latest dev build is version 0.9.3-5_b2-API8, and is available from
<a href="{{ spongeurl }}">sponge's eepsite</a> -
scan or click the QR code.
{%- endtrans %}
<div class="warning">
{% trans -%}
The release and dev versions of the I2P APK are not compatible, as they
are signed by zzz and sponge respectively. Uninstall one before installing
the other.
{%- endtrans %}
</div>
</div>
</div>
<div class="package">
<h1>{{ _('Source package') }}</h1>
<div class="file">
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2psource_%s.tar.bz2')) }}">i2psource_{{ ver() }}.tar.bz2</a> ({{ def_mirror.org }})
(<a href="{{ get_url('downloads_select', version=ver(), file=ver('i2psource_%s.tar.bz2')) }}">{{ _('select alternate link') }}</a>)
<div class="sig">
(SHA256
<code>497e2601ab7594c93e0866e7f6ad9c445f05f7660efcea596ab255677056b1cb</code>
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2psource_%s.tar.bz2.sig')) }}">sig</a>)
</div>
</div>
<div class="details">
{% trans monotoneurl=site_url('get-involved/guides/new-developers'),
gitrepo='http://git.repo.i2p/w/i2p.i2p.git',
github='https://github.com/i2p/i2p.i2p',
i2pversion=ver() -%}
Alternately, you can fetch the source from <a href="{{ monotoneurl }}#getting-the-i2p-code">monotone</a>
or via Git from <a href="{{ gitrepo }}">git.repo.i2p</a> or <a href="{{ github }}">Github</a>.
<br />
Run <code>(tar xjvf i2psource_{{ i2pversion }}.tar.bz2 ; cd i2p-{{ i2pversion }} ; ant pkg)</code> then either
run the GUI installer or headless install as above.
{%- endtrans %}
</div>
</div>
</div>
{% trans signingkey=site_url('get-involved/develop/release-signing-key') -%}
The files are signed by zzz,
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
<p>{% trans -%}
I2P can also be downloaded from our project pages on <a href="https://launchpad.net/i2p/trunk">Launchpad</a> and <a href="http://code.google.com/p/i2p/">Google Code</a>.
{%- endtrans %}</p>
<h3>{{ _('Post-install work') }}</h3>
<p>{% trans -%}
After running the installer on windows, simply click on the "Start I2P" button
which will bring up the <a href="http://localhost:7657/index.jsp">router console</a>,
which has further instructions.
{%- endtrans %}</p>
<p>{% trans -%}
On Unix-like systems, I2P can be started as a service
using the "i2prouter" script, located in the directory you selected for I2P.
Changing to that directory in a console and issuing "sh i2prouter status"
should tell you the router's status. The arguments "start", "stop" and "restart"
control the service. The <a href="http://localhost:7657/index.jsp">router console</a>
can be accessed at its usual location.
For users on OpenSolaris and other systems for which the wrapper (i2psvc) is not supported,
start the router with "sh runplain.sh" instead.
{%- endtrans %}</p>
<p>{% trans faq=site_url('faq') -%}
When installing for the first time, please remember to <b>adjust your NAT/firewall</b>
if you can, bearing in mind the Internet-facing ports I2P uses,
<a href="{{ faq }}#ports">described here</a> among other ports.
If you have successfully opened your port to inbound TCP, also enable inbound TCP on the
<a href="http://localhost:7657/confignet.jsp">configuration page</a>.
{%- endtrans %}</p>
<p>{% trans -%}
Also, please review and <b>adjust the bandwidth settings</b> on the
<a href="http://localhost:7657/config.jsp">configuration page</a>,
as the default settings of 96 KBps down / 40 KBps up are fairly slow.
{%- endtrans %}</p>
<p>{% trans browserconfig=site_url('about/browser-config') -%}
If you want to reach eepsites via your browser, have a look on the <a href="{{ browserconfig }}">browser proxy setup</a> page for an easy howto.
{%- endtrans %}</p>
<h3>{{ _('Updates from earlier releases:') }}</h3>
<p>{% trans -%}
Both automatic and manual upgrades are available for the release.
{%- endtrans %}</p>
<div class="package">
<h1>{{ _('Automatic updates') }}</h1>
<div class="details">
<p>{% trans -%}
If you are running 0.7.5 or later, your router should detect the
new release. To upgrade simply click the 'Download Update' button on your router console
when it appears.
{%- endtrans %}</p>
<div class="warning">
<p>{% trans -%}
Due to a bug in release 0.7.6, those whose first I2P installation was that version
and have not upgraded manually
may get a "downloaded version is not greater than current version" error,
and should use the manual update method below.
{%- endtrans %}</p>
</div>
<div class="warning">
<p>{% trans blogpost=get_url('blog_post', slug='2009/06/29/0.7.5-Release') -%}
If you are running 0.7.4 or earlier, please see
<a href="{{ blogpost }}">the 0.7.5 release notes</a>
for important information about how to configure your router to automatically
receive the release.
{%- endtrans %}</p>
</div>
<div class="warning">
<p>{% trans instructions=site_url('misc/upgrade-0.6.1.30') -%}
If you are running 0.6.1.30 or earlier, please see
<a href="{{ instructions }}">instructions</a>
for important information about how to configure your router to automatically
receive the release.
{%- endtrans %}</p>
<ol>
<li>
{% trans instructions=site_url('misc/upgrade-0.6.1.30') -%}
If you have reconfigured your router following the <a href="{{ instructions }}">instructions</a>, you should see a link on your
<a href="http://localhost:7657/index.jsp">router console</a> allowing
you to download and install the new release by just clicking on that
link.
{%- endtrans %}
</li>
<li>
{% trans -%}
Alternately, you can use the manual method specified below.
{%- endtrans %}
</li>
</ol>
</div>
</div>
</div>
<div class="package">
<h1>{{ _('Manual updates') }}</h1>
<div class="file">
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pupdate_%s.zip')) }}">i2pupdate_{{ ver() }}.zip</a> ({{ def_mirror.org }})
(<a href="{{ get_url('downloads_select', version=ver(), file=ver('i2pupdate_%s.zip')) }}">{{ _('select alternate link') }}</a>)
<div class="sig">
(SHA256
<code>d0b8f0a2491c5ad401f87c94b3b805c03bccd69f9f1b57177a53287f29f85959</code>
<a href="{{ url_for('downloads_redirect', version=ver(), protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver('i2pupdate_%s.zip.sig')) }}">sig</a>)
</div>
</div>
<div class="details">
<ol>
<li>
{% trans -%}
Download that file to your I2P
installation directory and <b>rename as i2pupdate.zip</b>.
(alternately, you can get the source as above and run "ant updater", then copy the
resulting i2pupdate.zip to your I2P installation directory). You do
NOT need to unzip that file.
{%- endtrans %}
</li>
<li>
{% trans -%}
Click <a href="http://localhost:7657/configservice.jsp">"Restart"</a>
{%- endtrans %}
</li>
<li>
{% trans -%}
Grab a cup of coffee and come back in 11 minutes
{%- endtrans %}
</li>
</ol>
</div>
</div>
{% trans signingkey=site_url('get-involved/develop/release-signing-key') -%}
The file is signed by zzz,
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
<h3>{{ _('Previous Releases') }}</h3>
{% trans echelon=i2pconv('echelon.i2p') -%}
Previous releases are available on <a href="http://code.google.com/p/i2p/downloads/list?can=1">Google Code</a>
and <a href="https://launchpad.net/i2p/trunk">Launchpad</a>
and within the I2P network on <a href="http://{{ echelon }}/">{{ echelon }}</a>.
{%- endtrans %}
{% endblock %}

View File

@@ -0,0 +1,7 @@
{"protocol": "http", "domain": "i2p.googlecode.com", "path": "/files/%(file)s", "org": "Google Code", "org_url": "http://code.google.com", "country": "us"}
{"protocol": "https", "domain": "i2p.googlecode.com", "path": "/files/%(file)s", "org": "Google Code", "org_url": "https://code.google.com", "country": "us"}
{"protocol": "https", "domain": "launchpad.net", "path": "/i2p/trunk/%(version)s/+download/%(file)s", "org": "Launchpad", "org_url": "https://launchpad.net", "country": "us"}
{"protocol": "http", "domain": "golden.mtveurope.org", "path": "/~yang/i2p_mirror/%(file)s", "org": "VServer.si", "org_url": "http://www.vserver.si", "country": "lu"}
{"protocol": "http", "domain": "a.mirror.geti2p.net", "path": "/releases/current/%(file)s", "org": "welterde", "country": "de"}
{"protocol": "http", "domain": "download.i2p2.no", "path": "/releases/current/%(file)s", "org": "meeh", "country": "no"}
{"protocol": "https", "domain": "googledrive.com", "path": "/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/%(version)s/%(file)s", "org": "Google Drive", "country": "us"}

View File

@@ -0,0 +1,17 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Mirror selection') }}{% endblock %}
{% block content %}
<h1>{{ _('Mirror selection') }}</h1>
<h2>{{ _('File:') }} /{{ file }}</h2>
{% for protocol in mirrors -%}
<div class="protocol">
<h3>{{ protocol.name | upper }}</h3>
<ul>
<li><a href="{{ url_for('downloads_redirect', version=version, protocol=protocol.name, file=file) }}">{{ _('Any mirror') }}</a></li>
{% for domain, mirror in protocol.mirrors.items() -%}
<li><img src="{{ url_for('static', filename='images/flags/'+mirror.country+'.png') }}" />&nbsp;{% if mirror.org_url %}<a href="{{ mirror.org_url }}">{% endif %}{{ mirror.org }}{% if mirror.org_url %}</a>{% endif %} <a href="{{ url_for('downloads_redirect', version=version, protocol=protocol.name, domain=domain, file=file) }}">[{{ _('Download') }}]</a> <a href="{{ url_for('downloads_redirect', version=version, protocol=protocol.name, domain=domain, file=file+'.sig') }}">[sig]</a></li>
{%- endfor %}
</ul>
</div>
{%- endfor %}
{% endblock %}