Commit f1f1709c authored by sajolida's avatar sajolida
Browse files

Merge remote-tracking branch 'origin/master'

parents 545a941e 07fc4e0f
......@@ -4,6 +4,17 @@ All times are referenced to Berlin and Paris time.
## 2018Q2
* 2018-03-27: Start preparing Tails 3.6.2 — anonym is the RM
* 2018-03-30:
- Finish preparing Tails 3.6.2.
- Build and upload Tails 3.6.2.
- Start testing Tails 3.6.2.
* 2018-04-03:
- Finish testing Tails 3.6.2.
- Release Tails 3.6.2.
* 2018-04-03, 14:00: Translation platform meeting
* 2018-04-03, 19:00: [[Contributors meeting|contribute/meetings]]
......
......@@ -64,16 +64,16 @@ Threat model
We are considering here an attacker who can:
- (A) Provide a malicious ISO image to the user for example by
- [A] Provide a malicious ISO image to the user for example by
operating a rogue Tails mirror.
- (H) Operate a website that is loaded in a different tab in the same
- [H] Operate a website that is loaded in a different tab in the same
browser as the extension. See the section on [[security inside the
browser|verification_extension#inside_the_browser]].
We are not considering an attacker who can:
- (B) Do a man-in-the-middle attack by providing a rogue HTTPS certificate
- [B] Do a man-in-the-middle attack by providing a rogue HTTPS certificate
for https://tails.boum.org/ signed by a certificate authority
trusted by the
browser but under the control of the attacker.
......@@ -86,7 +86,7 @@ We are not considering an attacker who can:
and Chrome which forces HTTPS connections to our website, even for
first time visitors.
- (C) Insert malicious content on https://tails.boum.org/ through an
- [C] Insert malicious content on https://tails.boum.org/ through an
exploit on our website as this could trick new users to skip the ISO
verification all the way. To prevent this kind of attack we should
instead:
......@@ -96,19 +96,19 @@ We are not considering an attacker who can:
number of times people have to rely on our website to upgrade. See
[[!tails_ticket 7499]].
- (D) Insert malicious information in our main Git repository as such
an attacker could do attack (C) as well.
- [D] Insert malicious information in our main Git repository as such
an attacker could do attack [C] as well.
- (E) Insert targeted malware on the user's computer as this could
- [E] Insert targeted malware on the user's computer as this could
defeat any possible verification mechanism that such an extension
could do.
- (F) Provide a rogue extension to the user as this could defeat any
- [F] Provide a rogue extension to the user as this could defeat any
possible verification mechanism that such an extension could do.
- (G) Insert malicious content on https://tails.boum.org/ after taking
- [G] Insert malicious content on https://tails.boum.org/ after taking
control of the web server, or entire system, behind it. Such an
attacker could do attack (C) as well but in such a way that could be
attacker could do attack [C] as well but in such a way that could be
much harder to detect (for example by serving malicious content only to
some users).
......@@ -130,36 +130,40 @@ We are not considering an attacker who can:
Security inside the browser
---------------------------
<div class="bug">
The threat described as [H] is taken care of by the internals of the
browser (and the proper coding of the extension).
This section is outdated.<br />
This will be fixed by [[!tails_ticket 15061]].
### Cross-origin communication
</div>
The extension uses cross-origin communication to modify the download
page.
The threat described as [H] is taken care of by the internals of the
browser (and the proper coding of the extension):
- Only tabs with the same origin can interfere with the tab running the
verification.
- Tabs which would have been opened with `window.open()` by a script in
the verification tab would have a handle to the window of the
verification tab but couldn't touch the content unless they are in the
same domain.
- DAVE doesn't use cross-origin communication.
- Web pages from a different origin cannot interfere in any way with the
result of the verification.
Of course, any tab can open an alert box saying "Verification
Successful", but it cannot overlay a different tab and, most important,
it cannot detect any hint that the verification is happening. Note that the
extension does not open alert boxes but
instead modifies the content of the page.
Bugs in the browser itself that could tamper with the verification
mechanism would need to be of the "remote code execution vulnerability" kind
and would represent a threat in many more use cases than when verifying
an ISO image.
- To ensure that messages from the extension are only sent to pages on
our website, the extension
sets `targetOrigin` to `https://tails.boum.org` (no trailing slash needed) in
[`postMessage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage).
See commit c87ce92.
- Before processing the message, the download page verifies that it is
coming from:
- The same tab (`event.source` is `window`)
- Our website (`event.origin` is `https://tails.boum.org`, no trailing slash needed)
See [[!tails_gitweb wiki/src/install/inc/js/download.js
desc="`receiveMessage()` in *download.js*"]].
- The code of the extension is only injected in tabs on
`https://tails.boum.org/` (with a trailing slash). See `permissions`
in *manifest.js* and `matches` in *scripts/background/background.js*.
- The communication is unidirectional: only the extension sends messages
and the extension does not listen to messages.
### Content Security Policy
Instead of the default Content Security Policy, the extension uses the
strictest policy: `default-src 'none'`.
<a id="update"></a>
......@@ -237,11 +241,11 @@ When verifying an ISO image, the extension:
Security properties:
- This technique would defeat attack A (malicious ISO).
- This technique would defeat attack [A] (malicious ISO).
More complex verification mechanisms could be gradually [[built into
Tails Installer|blueprint/bootstrapping/installer]] where we can
defeat attacks B, C, D, F, and G.
defeat attacks [B], [C], [D], [F], and [G].
Embedded *Forge* library
------------------------
......@@ -268,11 +272,16 @@ mechanisms:
- Mostly through message communication (`postMessage`) sent to a
script on the page ([[!tails_gitweb wiki/src/install/inc/js/download.js]]).
- If an extension is already installed when the page is loaded, through
an HTML attribute (`documentElement.dataset.extension`) corresponding
to some CSS declarations, to indicate whether the extension is
up-to-date or outdated.
- If the extension gets installed on a page, through a background script
that injects the JavaScript of the extension on the page. See commit
d80b322.
This decouples the code of the extension from the implementation of the
display on the HTML page (ids, classes, etc.).
......
......@@ -1105,7 +1105,7 @@ Update the size of the ISO image in `inc/*`:
Generate the expected signature verification output:
LANG=C TZ=UTC gpg --no-options --verify "${ISO_PATH:?}.sig" "${ISO_PATH:?}" 2>&1 | \
LANG=C TZ=UTC gpg --no-options --keyid-format 0xlong --verify "${ISO_PATH:?}.sig" "${ISO_PATH:?}" 2>&1 | \
sed 's/ /\&nbsp;/g;s/</\&lt;/;s/>/\&gt;/;s/$/<br\/>/g' > \
"${RELEASE_CHECKOUT:?}/wiki/src/inc/stable_amd64_gpg_signature_output.html"
......
gpg:&nbsp;Signature&nbsp;made&nbsp;Sat&nbsp;17&nbsp;Mar&nbsp;2018&nbsp;12:08:42&nbsp;AM&nbsp;UTC<br/>
gpg:&nbsp;Signature&nbsp;made&nbsp;Sat&nbsp;Mar&nbsp;17&nbsp;00:08:42&nbsp;2018&nbsp;UTC<br/>
gpg:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;EDDSA&nbsp;key&nbsp;CD4D4351AFA6933F574A9AFB90B2B4BD7AED235F<br/>
gpg:&nbsp;Good&nbsp;signature&nbsp;from&nbsp;"Tails&nbsp;developers&nbsp;&lt;tails@boum.org&gt;"&nbsp;[full]<br/>
gpg:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aka&nbsp;"Tails&nbsp;developers&nbsp;(offline&nbsp;long-term&nbsp;identity&nbsp;key)&nbsp;&lt;tails@boum.org&gt;"&nbsp;[full]<br/>
gpg --keyid-format 0xlong --verify tails-amd64-3.6.1.iso.sig tails-amd64-3.6.1.iso
gpg --no-options --keyid-format 0xlong --verify tails-amd64-3.6.1.iso.sig tails-amd64-3.6.1.iso
......@@ -219,11 +219,13 @@ document.addEventListener("DOMContentLoaded", function() {
}
else if (result === "failed") {
show(document.getElementById("verification-failed"));
replaceUrlPrefixWithRandomMirror(document.querySelectorAll(".use-mirror-pool")); // Try again with different mirrors
// Try again with different mirrors
toggleDisplay(document.getElementsByClassName("use-mirror-pool"), "hide");
toggleDisplay(document.getElementsByClassName("use-mirror-pool-on-retry"), "show");
replaceUrlPrefixWithRandomMirror(document.querySelectorAll(".use-mirror-pool-on-retry"));
}
else if (result === "failed-again") {
show(document.getElementById("verification-failed-again"));
replaceUrlPrefixWithRandomMirror(document.querySelectorAll(".use-mirror-pool")); // Change mirrors in case people try again anyway
}
}
......
......@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -49,7 +49,12 @@ msgid ""
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
"Laden Sie das <a href='[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes"
"\"]]' class=\"use-mirror-pool\"> Tails [[!inline pages=\"inc/"
......@@ -245,11 +250,22 @@ msgid "Downloading again is usually enough to fix this problem."
msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
#, fuzzy
#| msgid ""
#| "Download the <a href='[[!inline pages=\"inc/stable_amd64_iso_sig_url\" "
#| "raw=\"yes\" sort=\"age\"]]'> Tails [[!inline pages=\"inc/"
#| "stable_amd64_version\" raw=\"yes\" sort=\"age\"]] OpenPGP signature</a> "
#| "and save it to the same folder where you saved the ISO image."
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
"Laden Sie die <a href='[[!inline pages=\"inc/stable_amd64_iso_sig_url\" raw="
"\"yes\"]]'> Tails [[!inline pages=\"inc/stable_amd64_version\" raw=\"yes\" "
"sort=\"age\"]] OpenPGP-Signatur</a> des aktuellsten ISO-Images von Tails "
"herunter und speichern Sie sie in dem gleichen Ordner, in dem Sie das ISO-"
"Image gespeichert haben."
#. type: Content of: <div><div><div><div><div><div><p>
msgid "<b>Verification failed again!</b>"
......
......@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: 2018-03-13 16:12+0000\n"
"Last-Translator: cacukin <cacukin@cryptolab.net>\n"
"Language-Team: Spanish <http://translate.tails.boum.org/projects/tails/"
......@@ -42,13 +42,26 @@ msgstr ""
"dvd upgrade-tails\">1.</span>1</span>Descarga Tails"
#. type: Content of: <div><div><div><div>
#, fuzzy
#| msgid ""
#| "<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
#| "\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary "
#| "inline-block indent\">Download Tails [[!inline pages=\"inc/"
#| "stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
#| "\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
#| "\"yes\" sort=\"age\"]]</span>)</a>"
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary inline-"
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary inline-"
......@@ -284,10 +297,15 @@ msgstr ""
"Descargar otra vez usualmente es suficiente para arreglar este problema."
#. type: Content of: <div><div><div><div><div><div><p>
#, fuzzy
#| msgid ""
#| "<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
#| "\"age\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please "
#| "try to download again&hellip;</a>"
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Por favor, "
......
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -43,7 +43,12 @@ msgid ""
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
#. type: Content of: <div><div><div><div><p>
......@@ -224,8 +229,8 @@ msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
......
......@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: 2018-01-12 17:44+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
......@@ -41,13 +41,26 @@ msgstr ""
"dvd upgrade-tails\">1.</span>1</span>Télécharger Tails"
#. type: Content of: <div><div><div><div>
#, fuzzy
#| msgid ""
#| "<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
#| "\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary "
#| "inline-block indent\">Download Tails [[!inline pages=\"inc/"
#| "stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
#| "\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
#| "\"yes\" sort=\"age\"]]</span>)</a>"
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary inline-"
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso\" class=\"use-mirror-pool btn btn-primary inline-"
......@@ -286,10 +299,15 @@ msgstr ""
"Télécharger à nouveau est généralement suffisant pour corriger ce problème."
#. type: Content of: <div><div><div><div><div><div><p>
#, fuzzy
#| msgid ""
#| "<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
#| "\"age\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please "
#| "try to download again&hellip;</a>"
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Merci d'essayer à "
......
......@@ -12,6 +12,7 @@
<div id="step-download-iso">
<h3><span class="step-number"><span class="debian windows linux mac-usb mac-dvd upgrade-tails">1.</span>1</span>Download Tails</h3>
<a href="[[!inline pages="inc/stable_amd64_iso_url" raw="yes" sort="age"]]" id="download-iso" class="use-mirror-pool btn btn-primary inline-block indent">Download Tails [[!inline pages="inc/stable_amd64_version" raw="yes" sort="age"]] ISO image (<span class="remove-extra-space">[[!inline pages="inc/stable_amd64_iso_size" raw="yes" sort="age"]]</span>)</a>
<a href="[[!inline pages="inc/stable_amd64_iso_url" raw="yes" sort="age"]]" id="download-iso" class="use-mirror-pool-on-retry btn btn-primary inline-block indent">Download Tails [[!inline pages="inc/stable_amd64_version" raw="yes" sort="age"]] ISO image (<span class="remove-extra-space">[[!inline pages="inc/stable_amd64_iso_size" raw="yes" sort="age"]]</span>)</a>
<p id="already-downloaded" class="indent"><a>I already downloaded Tails <span class="remove-extra-space">&nbsp;[[!inline pages="inc/stable_amd64_version" raw="yes" sort="age"]]</span>.</a></p>
</div>
......@@ -91,7 +92,7 @@
<p>[[How does the extension work?|contribute/design/verification_extension]]</p>
"""]]
</div>
<p><a href="[[!inline pages="inc/stable_amd64_iso_url" raw="yes" sort="age"]]" id="download-iso-again" class="use-mirror-pool">Please try to download again&hellip;</a></p>
<p><a href="[[!inline pages="inc/stable_amd64_iso_url" raw="yes" sort="age"]]" id="download-iso-again" class="use-mirror-pool-on-retry">Please try to download again&hellip;</a></p>
</div>
<div id="verification-failed-again" class="block">
<p><b>Verification failed again!</b></p>
......
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -50,7 +50,12 @@ msgid ""
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
"Scarica la <a href='[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes"
"\"]]' class=\"use-mirror-pool\"> Tails [[!inline pages=\"inc/"
......@@ -246,11 +251,22 @@ msgid "Downloading again is usually enough to fix this problem."
msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
#, fuzzy
#| msgid ""
#| "Download the <a href='[[!inline pages=\"inc/stable_amd64_iso_sig_url\" "
#| "raw=\"yes\" sort=\"age\"]]'> Tails [[!inline pages=\"inc/"
#| "stable_amd64_version\" raw=\"yes\" sort=\"age\"]] OpenPGP signature</a> "
#| "of the latest Tails ISO image and save it to the same folder where you "
#| "saved the ISO image."
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
"Scarica la <a href='[[!inline pages=\"inc/stable_amd64_iso_sig_url\" raw="
"\"yes\"]]'> Tails [[!inline pages=\"inc/stable_amd64_version\" raw=\"yes\" "
"sort=\"age\"]] firma OpenPGP</a> dell'ultima immagine ISO Tails e salvala "
"nella stessa cartella in cui hai savato l'immagine ISO."
#. type: Content of: <div><div><div><div><div><div><p>
msgid "<b>Verification failed again!</b>"
......
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-26 22:05+0300\n"
"POT-Creation-Date: 2018-03-27 17:06+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -43,7 +43,12 @@ msgid ""
"block indent\">Download Tails [[!inline pages=\"inc/stable_amd64_version\" "
"raw=\"yes\" sort=\"age\"]] ISO image (<span class=\"remove-extra-space\">[[!"
"inline pages=\"inc/stable_amd64_iso_size\" raw=\"yes\" sort=\"age\"]]</span>)"
"</a>"
"</a> <a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort="
"\"age\"]]\" id=\"download-iso\" class=\"use-mirror-pool-on-retry btn btn-"
"primary inline-block indent\">Download Tails [[!inline pages=\"inc/"
"stable_amd64_version\" raw=\"yes\" sort=\"age\"]] ISO image (<span class="
"\"remove-extra-space\">[[!inline pages=\"inc/stable_amd64_iso_size\" raw="
"\"yes\" sort=\"age\"]]</span>)</a>"
msgstr ""
#. type: Content of: <div><div><div><div><p>
......@@ -224,8 +229,8 @@ msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
msgid ""
"<a href=\"[[!inline pages=\"inc/stable_amd64_iso_url\" raw=\"yes\" sort=\"age"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool\">Please try to "
"download again&hellip;</a>"
"\"]]\" id=\"download-iso-again\" class=\"use-mirror-pool-on-retry\">Please "
"try to download again&hellip;</a>"
msgstr ""
#. type: Content of: <div><div><div><div><div><div><p>
......
......@@ -24,7 +24,8 @@ h1 {
#skip-download-direct,
#skip-download-bittorrent,
#extension-version,
#broken-in-3-6 {
#broken-in-3-6,
.use-mirror-pool-on-retry {
display: none;
}
......
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-23 13:50+0100\n"
"POT-Creation-Date: 2018-03-27 11:28+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -89,3 +89,41 @@ msgstr ""
#. type: Plain text
msgid "♥ Thank you! ♥"
msgstr ""
#. type: Title -
#, no-wrap
msgid "What is Tails?\n"
msgstr ""
#. type: Plain text
msgid ""
"Tails is an entire operating system which preserves your privacy and "
"provides anonymity out-of-the-box. With Tails, you can use the Internet "
"anonymously and circumvent censorship. You'll be in control about the traces "
"you want to leave and those that you'd rather see forgotten. Installed onto "
"a USB key, Tails discreetly fits into your pocket."
msgstr ""
#. type: Plain text
msgid ""
"For the past 9 years, we've been working on making digital security "
"accessible to those who need it most. Counting more than 20&thinsp;000 boots "
"per day, we've proved that Tails is a reliable and successful tool that "
"helps diverse people around the world to be safe online every day. But we "
"think that the immense work we've done until now should have an even bigger "
"impact on the world!"
msgstr ""
#. type: Plain text
msgid ""
"Even if you're not a Tails user yourself, your donation will [[help human "
"rights defenders, journalists, activists, victims of domestic violence and "
"many others|who_are_you_helping/]] who rely on Tails every day."
msgstr ""
#. type: Plain text
msgid ""
"Another detail that makes our work awesome is that we contribute our "
"improvements back to the free software community. When donating to Tails, "
"you're supporting an entire ecosystem which we are part of."
msgstr ""
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-23 13:50+0100\n"
"POT-Creation-Date: 2018-03-27 11:28+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -89,3 +89,41 @@ msgstr ""
#. type: Plain text
msgid "♥ Thank you! ♥"
msgstr ""
#. type: Title -
#, no-wrap
msgid "What is Tails?\n"
msgstr ""
#. type: Plain text
msgid ""
"Tails is an entire operating system which preserves your privacy and "
"provides anonymity out-of-the-box. With Tails, you can use the Internet "
"anonymously and circumvent censorship. You'll be in control about the traces "
"you want to leave and those that you'd rather see forgotten. Installed onto "
"a USB key, Tails discreetly fits into your pocket."
msgstr ""
#. type: Plain text
msgid ""
"For the past 9 years, we've been working on making digital security "
"accessible to those who need it most. Counting more than 20&thinsp;000 boots "
"per day, we've proved that Tails is a reliable and successful tool that "
"helps diverse people around the world to be safe online every day. But we "
"think that the immense work we've done until now should have an even bigger "
"impact on the world!"
msgstr ""
#. type: Plain text
msgid ""
"Even if you're not a Tails user yourself, your donation will [[help human "
"rights defenders, journalists, activists, victims of domestic violence and "
"many others|who_are_you_helping/]] who rely on Tails every day."
msgstr ""
#. type: Plain text
msgid ""
"Another detail that makes our work awesome is that we contribute our "
"improvements back to the free software community. When donating to Tails, "
"you're supporting an entire ecosystem which we are part of."
msgstr ""
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-23 13:50+0100\n"
"POT-Creation-Date: 2018-03-27 11:28+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -89,3 +89,41 @@ msgstr ""
#. type: Plain text
msgid "♥ Thank you! ♥"