website: downloads page (#3088)

* website: downloads page

* link

* website: fix h2 headers issue

* website: fix sidebar issue

* website: fix language changer for downloads page in navbar

* update, add security assessment section

---------

Co-authored-by: M Sarmad Qadeer <MSarmadQadeer@gmail.com>
This commit is contained in:
Evgeny Poberezkin 2023-09-21 09:28:12 +01:00 committed by GitHub
parent b08768ea71
commit 3419ce293b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 141 additions and 50 deletions

View file

@ -16,7 +16,7 @@ revision: 31.01.2023
- [Windows](#windows)
- [Build from source](#build-from-source)
- [Using Docker](#using-docker)
- [Using Haskell stack](#using-haskell-stack)
- [Using Haskell in any OS](#in-any-os)
- [Usage](#usage)
- [Running the chat client](#running-the-chat-client)
- [Access messaging servers via Tor](#access-messaging-servers-via-tor-beta)
@ -102,27 +102,49 @@ DOCKER_BUILDKIT=1 docker build --output ~/.local/bin .
#### In any OS
1. Install [Haskell GHCup](https://www.haskell.org/ghcup/), GHC 8.10.7 and cabal:
1. Install [Haskell GHCup](https://www.haskell.org/ghcup/), GHC 9.6.2 and cabal 3.10.1.0:
```shell
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
```
2. Build the project:
You can use `ghcup tui` to check or add GHC and cabal versions.
2. Clone the source code:
```shell
git clone git@github.com:simplex-chat/simplex-chat.git
cd simplex-chat
git checkout stable
# on Linux
# or to build a specific version:
# git checkout v5.3.0-beta.8
```
`master` is a development branch, it may containt unstable code.
3. Prepare the system:
On Linux:
```shell
apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev
cp scripts/cabal.project.local.linux cabal.project.local
# or on MacOS:
# brew install openssl@1.1
# cp scripts/cabal.project.local.mac cabal.project.local
# you may need to amend cabal.project.local to point to the actual openssl location
```
On Mac:
```
brew install openssl@1.1
cp scripts/cabal.project.local.mac cabal.project.local
```
You may need to amend cabal.project.local to point to the actual openssl location.
4. Build the app:
```shell
cabal update
cabal install
cabal install simplex-chat
```
## Usage

42
docs/DOWNLOADS.md Normal file
View file

@ -0,0 +1,42 @@
---
title: Download SimpleX apps
permalink: /downloads/index.html
revision: 20.09.2023
---
| Updated 20.09.2023 | Languages: EN |
# Download SimpleX apps
- [desktop](#desktop-app)
- [mobile](#mobile-apps)
- [terminal](#terminal-console-app) (console)
## Desktop app
<img src="/docs/images/simplex-desktop-light.png" alt="desktop app" width=500>
The latest version of desktop app is v5.3-beta.8 (1.6.0 in the app).
Using the same profile as on mobile device is not yet supported you need to create a separate profile to use desktop apps.
**Linux**: [AppImage](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-desktop-x86_64.AppImage) (most Linux distros), [Ubuntu 20.04](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-desktop-ubuntu-20_04-x86_64.deb) (and Debian-based distros), [Ubuntu 22.04](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-desktop-ubuntu-22_04-x86_64.deb).
**Mac**: [x86_64](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-desktop-macos-x86_64.dmg) (Intel), [aarch64](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-desktop-macos-aarch64.dmg) (Apple Silicon).
**Windows**: coming soon.
## Mobile apps
**iOS**: [App store](https://apps.apple.com/us/app/simplex-chat/id1605771084) (v5.2.3), [TestFlight](https://testflight.apple.com/join/DWuT2LQu) (v5.3-beta.8).
**Android**: [Play store](https://play.google.com/store/apps/details?id=chat.simplex.app), [F-Droid](https://simplex.chat/fdroid/), [APK aarch64](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex.apk), [APK armv7](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-armv7a.apk).
## Terminal (console) app
See [Using terminal app](/docs/CLI.md).
**Linux**: [Ubuntu 20.04](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-chat-ubuntu-20_04-x86-64), [Ubuntu 22.04](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-chat-ubuntu-22_04-x86-64).
**Mac** [x86_64](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-chat-macos-x86-64), aarch64 - [compile from source](./CLI.md#).
**Windows**: [x86_64](https://github.com/simplex-chat/simplex-chat/releases/download/v5.3.0-beta.8/simplex-chat-windows-x86-64).

View file

@ -1,3 +1,9 @@
---
title: Join SimpleX Chat team
permalink: /jobs/index.html
layout: layouts/jobs.html
---
# Join SimpleX Chat team
SimpleX Chat Ltd is a seed stage startup with a lot of user growth in 2022-2023, and a lot of exciting technical and product problems to solve to grow faster.

View file

@ -315,7 +315,8 @@ module.exports = function (ty) {
referenceMenu.data.forEach(referenceSubmenu => {
docs.forEach(doc => {
const url = doc.url.replace("/docs/", "")
const urlParts = url.split("/")
let urlParts = url.split("/")
urlParts = urlParts.filter((ele) => ele !== "")
if (doc.inputPath.split('/').includes(referenceSubmenu)) {
if (urlParts.length === 1 && urlParts[0] !== "") {

View file

@ -56,39 +56,34 @@ Object.entries(fileLanguageMapping).forEach(([fileName, languages]) => {
const permalink = `/docs/${linkPath}`.toLowerCase();
if (fileName === 'JOIN_TEAM') {
parsedMatter.data.title = 'SimpleX Chat - Jobs';
parsedMatter.data.permalink = '/jobs/index.html';
parsedMatter.data.layout = 'layouts/jobs.html';
parsedMatter.data.active_jobs = true;
}
else {
parsedMatter.data.permalink = permalink;
if (!parsedMatter.data.permalink) parsedMatter.data.permalink = permalink;
// Update the frontmatter with the new languages list
parsedMatter.data.supportedLangsForDoc = languages;
// Update the frontmatter with the new languages list
parsedMatter.data.supportedLangsForDoc = languages;
// Add the layout value
parsedMatter.data.layout = 'layouts/doc.html';
// Add the layout value
if (!parsedMatter.data.layout) parsedMatter.data.layout = 'layouts/doc.html';
if (fullPath.startsWith(path.join(directoryPath, langFolder))) {
// Non-English files
const [language, ...rest] = relativePath.split(path.sep).slice(1);
const enFilePath = path.join(directoryPath, ...rest);
if (fullPath.startsWith(path.join(directoryPath, langFolder))) {
// Non-English files
const [language, ...rest] = relativePath.split(path.sep).slice(1);
const enFilePath = path.join(directoryPath, ...rest);
if (enFiles[enFilePath]) {
const enRevision = new Date(enFiles[enFilePath].revision);
const currentRevision = new Date(parsedMatter.data.revision);
if (enFiles[enFilePath]) {
const enRevision = new Date(enFiles[enFilePath].revision);
const currentRevision = new Date(parsedMatter.data.revision);
const isOld = currentRevision < enRevision;
// Add the version value
parsedMatter.data.version = isOld ? 'old' : 'new';
}
} else {
// English files
enFiles[fullPath] = { revision: parsedMatter.data.revision };
const isOld = currentRevision < enRevision;
// Add the version value
parsedMatter.data.version = 'new';
parsedMatter.data.version = isOld ? 'old' : 'new';
}
} else {
// English files
enFiles[fullPath] = { revision: parsedMatter.data.revision };
// Add the version value
parsedMatter.data.version = 'new';
}
// Save the updated frontmatter and content back to the file

View file

@ -132,7 +132,7 @@
"donate-here-to-help-us": "تبرّع هنا لمساعدتنا",
"sign-up-to-receive-our-updates": "اشترك للحصول على آخر مستجداتنا",
"enter-your-email-address": "أدخل عنوان بريدك الإلكتروني",
"get-simplex": "احصل على SimpleX",
"get-simplex": "احصل على SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "لماذا SimpleX",
"unique": "فريد من نوعه",
"learn-more": "اقرأ أكثر",

View file

@ -114,7 +114,7 @@
"donate-here-to-help-us": "Přispějte zde a pomozte nám",
"sign-up-to-receive-our-updates": "Přihlaste se k odběru novinek",
"enter-your-email-address": "vložte svou e-mailovou adresu",
"get-simplex": "Získat SimpleX",
"get-simplex": "Získat SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Proč je SimpleX",
"unique": "jedinečný",
"learn-more": "Další informace",

View file

@ -127,7 +127,7 @@
"donate-here-to-help-us": "Spenden Sie, um uns zu unterstützen",
"sign-up-to-receive-our-updates": "Melden Sie sich an, um Updates von uns zu erhalten",
"enter-your-email-address": "Geben Sie Ihre Mail-Adresse ein",
"get-simplex": "Laden Sie sich SimpleX herunter",
"get-simplex": "Laden Sie sich SimpleX herunter <a href=\"/downloads\">desktop app</a>",
"learn-more": "Erfahren Sie mehr darüber",
"more-info": "Weitere Informationen",
"hide-info": "Informationen verbergen",

View file

@ -30,10 +30,12 @@
"hero-p-1": "Other apps have user IDs: Signal, Matrix, Session, Briar, Jami, Cwtch, etc.<br> SimpleX does not, <strong>not even random numbers</strong>.<br> This radically improves your privacy.",
"hero-overlay-1-textlink": "Why user IDs are bad for privacy?",
"hero-overlay-2-textlink": "How does SimpleX work?",
"hero-overlay-3-textlink": "Security assessment",
"hero-2-header": "Make a private connection",
"hero-2-header-desc": "The video shows how you connect to your friend via their 1-time QR-code, in person or via a video link. You can also connect by sharing an invitation link.",
"hero-overlay-1-title": "How does SimpleX work?",
"hero-overlay-2-title": "Why user IDs are bad for privacy?",
"hero-overlay-3-title": "Security assessment",
"feature-1-title": "E2E-encrypted messages with markdown and editing",
"feature-2-title": "E2E-encrypted<br>images and files",
"feature-3-title": "Decentralized secret groups &mdash;<br>only users know they exist",
@ -99,6 +101,9 @@
"hero-overlay-card-2-p-2": "They could then correlate this information with the existing public social networks, and determine some real identities.",
"hero-overlay-card-2-p-3": "Even with the most private apps that use Tor v3 services, if you talk to two different contacts via the same profile they can prove that they are connected to the same person.",
"hero-overlay-card-2-p-4": "SimpleX protects against these attacks by not having any user IDs in its design. And, if you use Incognito mode, you will have a different display name for each contact, avoiding any shared data between them.",
"hero-overlay-card-3-p-1": "<a href=\"https://www.trailofbits.com/about/\">Trail of Bits</a> is a leading security and technology consultancy whose clients include big tech, governmental agencies and major blockchain projects.",
"hero-overlay-card-3-p-2": "Trail of Bits reviewed SimpleX platform cryptography and networking components in November 2022.",
"hero-overlay-card-3-p-3": "Read more in <a href=\"/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html\">the announcement</a>.",
"simplex-network-overlay-card-1-p-1": "<a href='https://en.wikipedia.org/wiki/Peer-to-peer'>P2P</a> messaging protocols and apps have various problems that make them less reliable than SimpleX, more complex to analyse, and vulnerable to several types of attack.",
"simplex-network-overlay-card-1-li-1": "P2P networks rely on some variant of <a href='https://en.wikipedia.org/wiki/Distributed_hash_table'>DHT</a> to route messages. DHT designs have to balance delivery guarantee and latency. SimpleX has both better delivery guarantee and lower latency than P2P, because the message can be redundantly passed via several servers in parallel, using the servers chosen by the recipient. In P2P networks the message is passed through <em>O(log N)</em> nodes sequentially, using nodes chosen by the algorithm.",
"simplex-network-overlay-card-1-li-2": "SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.",
@ -143,7 +148,7 @@
"donate-here-to-help-us": "Donate here to help us",
"sign-up-to-receive-our-updates": "Sign up to receive our updates",
"enter-your-email-address": "Enter your email address",
"get-simplex": "Get SimpleX",
"get-simplex": "Get SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Why SimpleX is",
"unique": "unique",
"learn-more": "Learn more",
@ -229,6 +234,7 @@
"docs-dropdown-6": "WebRTC servers",
"docs-dropdown-7": "Translate SimpleX Chat",
"docs-dropdown-8": "SimpleX Directory Service",
"docs-dropdown-9": "Downloads",
"newer-version-of-eng-msg": "There is a newer version of this page in English.",
"click-to-see": "Click to see",
"menu": "Menu",

View file

@ -137,7 +137,7 @@
"sign-up-to-receive-our-updates": "Suscríbase para recibir nuestras actualizaciones",
"donate-here-to-help-us": "Para ayudarnos haga una donación aquí",
"enter-your-email-address": "Escriba su dirección de correo electrónico",
"get-simplex": "Obtenga SimpleX",
"get-simplex": "Obtenga SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Por qué SimpleX es",
"unique": "único",
"learn-more": "Descubra más",

View file

@ -186,7 +186,7 @@
"donate-here-to-help-us": "Tue meitä täällä lahjoituksilla",
"sign-up-to-receive-our-updates": "Tilaa päivityksemme",
"enter-your-email-address": "Syötä sähköpostiosoitteesi",
"get-simplex": "Hanki SimpleX",
"get-simplex": "Hanki SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Miksi SimpleX on",
"unique": "ainutlaatuinen",
"learn-more": "Lue lisää",

View file

@ -143,7 +143,7 @@
"donate-here-to-help-us": "Faites un don ici pour nous aider",
"sign-up-to-receive-our-updates": "Inscrivez-vous pour recevoir nos mises à jour",
"enter-your-email-address": "Entrez votre adresse e-mail",
"get-simplex": "Obtenir SimpleX",
"get-simplex": "Obtenir SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Pourquoi SimpleX est",
"unique": "unique",
"learn-more": "En savoir plus",

View file

@ -81,7 +81,7 @@
"join": "Unisciti a",
"we-invite-you-to-join-the-conversation": "Ti invitiamo a unirti alla conversazione",
"enter-your-email-address": "Inserisci il tuo indirizzo email",
"get-simplex": "Ottieni SimpleX",
"get-simplex": "Ottieni SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Perché SimpleX è",
"unique": "unico",
"learn-more": "Maggiori informazioni",

View file

@ -172,7 +172,7 @@
"simplex-unique-overlay-card-1-p-2": "メッセージを配信するために、SimpleX は一方向メッセージ キューの<a href='https://csrc.nist.gov/glossary/term/Pairwise_Pseudonymous_Identifier'>ペアワイズ匿名アドレス</a>を使用し、受信メッセージと送信メッセージに分けて、通常は異なるサーバーを経由します。 SimpleX を使用することは、<strong>別の「バーナー」 を使用するようなものです。 連絡先ごとにメールまたは電話</strong>を使用できるため、管理に手間がかかりません。",
"simplex-unique-overlay-card-3-p-4": "送受信されるサーバー トラフィックの間に共通の識別子や暗号文はありません。 &mdash; 誰かがそれを観察している場合、たとえ TLS が侵害されたとしても、誰が誰と通信しているのかを簡単に判断することはできません。",
"docs-dropdown-2": "Android ファイルへのアクセス",
"get-simplex": "SimpleXを入手する",
"get-simplex": "SimpleXを入手する <a href=\"/downloads\">desktop app</a>",
"privacy-matters-overlay-card-3-p-1": "誰もが通信のプライバシーとセキュリティに気を配る必要があります。 たとえ何も隠すものがなかったとしても、無害な会話はあなたを危険にさらす可能性があります。",
"simplex-unique-2-title": "スパムや悪用から<br>保護されています",
"comparison-section-list-point-2": "DNSベースのアドレス",

View file

@ -194,7 +194,7 @@
"simplex-unique-overlay-card-4-p-3": "Als u overweegt om voor het SimpleX platform te ontwikkelen, bijvoorbeeld de chatbot voor gebruikers van de SimpleX app, of de integratie van de SimpleX Chat bibliotheek in uw mobiele apps, <a href='https://simplex.chat/contact# /?v=1&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23MCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%3D' target='_blank'>get in touch</a> for any advice en ondersteuning.",
"simplex-unique-card-1-p-1": "SimpleX beschermt de privacy van uw profiel, contacten en metadata en verbergt deze voor SimpleX platformservers en eventuele waarnemers.",
"enter-your-email-address": "Voer uw e-mail adres in",
"get-simplex": "Verkrijg SimpleX",
"get-simplex": "Verkrijg SimpleX <a href=\"/downloads\">desktop app</a>",
"tap-to-close": "Tik om te sluiten",
"contact-hero-header": "Je hebt een adres ontvangen om verbinding te maken met SimpleX Chat",
"invitation-hero-header": "Je hebt een eenmalige link ontvangen om verbinding te maken met SimpleX Chat",

View file

@ -159,7 +159,7 @@
"simplex-unique-card-4-p-2": "Możesz <strong>używać SimpleX z własnymi serwerami</strong> lub z serwerami dostarczonymi przez nas &mdash; i nadal łączyć się z dowolnym użytkownikiem.",
"we-invite-you-to-join-the-conversation": "Zapraszamy do udziału w rozmowie",
"enter-your-email-address": "Wpisz swój adres e-mail",
"get-simplex": "Pobierz SimpleX",
"get-simplex": "Pobierz SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Dlaczego SimpleX jest",
"join": "Dołącz do",
"join-us-on-GitHub": "Dołącz do nas na GitHubie",

View file

@ -146,7 +146,7 @@
"donate-here-to-help-us": "Doe aqui para nos ajudar",
"sign-up-to-receive-our-updates": "Inscreva-se para receber nossas atualizações",
"enter-your-email-address": "Digite seu endereço de e-mail",
"get-simplex": "Obtenha o SimpleX",
"get-simplex": "Obtenha o SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Por que o SimpleX é",
"unique": "único",
"learn-more": "Saiba mais",

View file

@ -173,7 +173,7 @@
"donate-here-to-help-us": "Пожертвуйте тут, щоб допомогти нам",
"sign-up-to-receive-our-updates": "Підпишіться на наші оновлення",
"enter-your-email-address": "Введіть адресу вашої електронної пошти",
"get-simplex": "Отримати SimpleX",
"get-simplex": "Отримати SimpleX <a href=\"/downloads\">desktop app</a>",
"why-simplex-is": "Чому SimpleX це",
"unique": "унікальний",
"learn-more": "Дізнайтеся більше",

View file

@ -26,7 +26,7 @@
"simplex-unique-overlay-card-3-p-4": "发送和接收的服务器流量之间没有共同的标识符或密文—— 如果有人在观察它,他们也无法轻易确定谁与谁通信,即使 TLS 受到威胁。",
"simplex-unique-card-4-p-1": "SimpleX 网络是完全去中心化的,并且独立于任何加密货币或除互联网以外的任何其他平台。",
"join": "加入",
"get-simplex": "获取 SimpleX",
"get-simplex": "获取 SimpleX <a href=\"/downloads\">desktop app</a>",
"hide-info": "隐藏信息",
"contact-hero-header": "您收到了一个用于连接 SimpleX Chat 的地址",
"contact-hero-p-2": "还没有下载 SimpleX Chat 吗?",

View file

@ -31,6 +31,10 @@
{
"title": "docs-dropdown-7",
"url": "/docs/translations.html"
},
{
"title": "docs-dropdown-9",
"url": "/downloads/"
}
]
}

View file

@ -26,7 +26,8 @@
"SERVER.md",
"TRANSLATIONS.md",
"WEBRTC.md",
"XFTP-SERVER.md"
"XFTP-SERVER.md",
"DOWNLOADS.md"
]
},
{

View file

@ -23,6 +23,18 @@
"showImage": true,
"contentBody": "overlay_content/hero/card_2.html"
}
},
{
"id": 3,
"imgLight": "/img/trail-of-bits-light.png",
"imgDark": "/img/trail-of-bits-dark.png",
"overlayContent": {
"overlayId": "security-assessment",
"overlayScrollTo": "",
"title": "hero-overlay-3-title",
"showImage": true,
"contentBody": "overlay_content/hero/card_3.html"
}
}
]
}

View file

@ -17,6 +17,8 @@
{{ overlay(hero_overlays.sections[1], lang) }}
<a href="javascript:void(0)" data-show-overlay="{{ hero_overlays.sections[0].overlayContent.overlayId }}" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-center xl:text-left xl:rtl:text-right text-[14px] xl:text-[16px] leading-[34px] underline-offset-2">{{ "hero-overlay-2-textlink" | i18n({}, lang ) | safe }}</a>
{{ overlay(hero_overlays.sections[0], lang) }}
<a href="javascript:void(0)" data-show-overlay="{{ hero_overlays.sections[2].overlayContent.overlayId }}" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-center xl:text-left xl:rtl:text-right text-[14px] xl:text-[16px] leading-[34px] underline-offset-2">{{ "hero-overlay-3-textlink" | i18n({}, lang ) | safe }}</a>
{{ overlay(hero_overlays.sections[2], lang) }}
</article>
<article class="w-full xl:max-w-[600px]">

View file

@ -150,7 +150,7 @@
</a>
<ul class="flex flex-col items-start gap-2 h-fit absolute top-11 -left-10 bg-white dark:bg-black mt-[10px] py-4 min-w-[170px] rounded-md shadow-[0_0_3px_rgb(60_72_88_/_15%)] sub-menu overflow-auto">
{% if "docs" in page.url %}
{% if ("docs" in page.url) or ('downloads' in page.url) %}
{% for supportedLang in supportedLangsForDoc %}
{% for language in languages.languages %}
{% if language.label == supportedLang %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 KiB