mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-03-31 11:56:00 +00:00
* website: started new design (#6279)
* upload assets & change font to gt-walsheim
* fix language issue in learn-more page
* design cover for desktop
* website: home page sections (#6285)
* upload assets & change font to gt-walsheim
* fix language issue in learn-more page
* design cover for desktop
* add section 2, 3 & 4 for desktop
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* website: more sections (#6289)
* upload assets & change font to gt-walsheim
* fix language issue in learn-more page
* design cover for desktop
* add section 2, 3 & 4 for desktop
* website: directory page (#6283)
* website: directory page
* core: use markdown in directory entries
* render markdown on directory page
* update markdown
* toggle secrets on click
* update listings asynchronously
* add group links to the listing
* cleanup
* better directory layout with pagination
* script to run website
* update page navigation
* search
* readable markdown colors, better "read less"
* core: atomic update of directory listings, to avoid files unavailable
* fix symlink, sort entries on page with new first
* update listings every 15 min, add activeAt time
* fix sorting in the page and listing url
* replace simplex:/ links on desktop
* website: fix search in directory
* add section 5 for Desktop
* android, desktop: update dependency
* website(directory): add bot address, open simplex links in new tab, improve error handling
* made cover responsive
* directory: show only recent groups in active/new tabs, page improvements (#6290)
* directory: show only recent groups as active or new
* round times
* sorting order
* fix links
* improve
* directory: disable search autocomplete
* directory: show approximate activity/creation time
* scripts: suffix deb packages with distribution codename (#6273)
* directory: show default image in case of loading error (can happen when group is delisted)
* website: add directory to nav bar, fixes (#6293)
* website: add directory to nav bar, fixes
* docs: update readme
* add responsiveness
* add socials
* remove white redundent line
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com>
* website: navbar (#6307)
* add navbar for desktop
* website: complete navbar (#6313)
* website: desktop layout for section 2 3 4 5 (#6317)
* desktop layout for section 2 3 4 5
* improve mobile layout
* resolve navbar issues
* delete unwanted svg
* cover layout
* update section 5 for mobile
* section 5 desktop
* website: improve layout & section 6 (#6321)
* improve layout
* add section 6
* website: promoted groups on home page (#6323)
* website: promoted groups on home page
* use local images when fallback listing is used, replace image on download error with group icon
* welcome message
* more links
* rename CSS classes
* website: adding footer (#6326)
* adding footer
* add footer
* update nav
* improve spaces in .group-images
* quick fix
* add community vouchers page
* fix footer problem
* disable pull to refresh
* address bar now hide in safari
* website: fallback group images (#6342)
* website: new things (#6344)
* add learn_more.md section in /learn-more page
* fix cover swiping bug & improve gradient
* fix click bug of group-images
* website: improve layout (#6361)
* website: improve layout
* fix footer for iphone
* add light mode (#6368)
* website: important updates (#6375)
* design improvements for desktop
* design improvements for mobile
* same navbar for all pages
* add comparison table
* update z-index
* quick fix
* add glassy effect to nav
* quick improvement
* favicon
* quick fix
* update nav glassy effect
* quick nav update
* improve mobile layout
* improve mobile layout
* improve mobile layout
* rotate gradients for mobile
* safearea
* almost remove background from nav
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* website: cover updates (#6380)
* remove background from nav
* add publications
* add security btns
* quick fixes
* quick fixes
* add all btns & made them responsive
* add hash & update pages
* Revert "remove background from nav"
This reverts commit ee27d17484.
* fix web.sh
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* website: translation strings (#6384)
* add translation strings for home page
* add translation strings for comparison table
* update strings
* website: update text (#6387)
* website: update text
* website: additional translation strings
* comparison table
* update colors
* update glossary
* website: fix glossary capitalize issue (#6388)
* fix glossary capitalize issue
* fix gradient scroll issue
* fix gradient scroll issue
* website: community vouchers and token (#6389)
* website: community vouchers and token
* website: change translation string
* update name
* website: update translations, fonts, fix language navigation (#6395)
* website: update translations
* website: update fonts, fix language navigation
* website: update texts (#6404)
* website: update texts
* website: update texts
* update the text
* website: update texts
* update
* web: mobile layout / safe area (#6408)
* improve status bar / safe area coloring
* improve status coloring
* website: popup to mint nft (WIP) (#6410)
* website: popup to mint nft (WIP)
* update dApp
* minting works
* update dApp
* update
* update app
* improve
* update network to arbitrum
* update copyright
* website: layout fixes, token button (#6415)
* update images, add note about arbitrum
* update colors
* website: update tokens, switch dApp to Ethereum
---------
Co-authored-by: M. Sarmad Qadeer <MSarmadQadeer@gmail.com>
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com>
331 lines
24 KiB
HTML
331 lines
24 KiB
HTML
---
|
|
layout: layouts/main.html
|
|
title: "SimpleX Chat: Learn more about SimpleX messaging"
|
|
description: "SimpleX Chat - a private and encrypted messenger without any user IDs (not even random ones)! Make a private connection via link / QR code to send messages and make calls."
|
|
templateEngineOverride: njk
|
|
---
|
|
{%- from "components/macro.njk" import overlay -%}
|
|
|
|
<section id="article" class="bg-secondary-bg-light dark:bg-secondary-bg-dark py-[95px] px-5">
|
|
<div class="container">
|
|
{% mdInclude "sections/messaging.md" %}
|
|
</div>
|
|
</section>
|
|
|
|
{# Why SimpleX is unique #}
|
|
{% include "sections/simplex_unique.html" %}
|
|
|
|
{# Features #}
|
|
<section id="features" class="bg-secondary-bg-light dark:bg-secondary-bg-dark py-[95px] px-5 lg:h-[888px]">
|
|
<div class="container">
|
|
<h2 class="text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold gradient-text mb-20">{{ "features" | i18n({}, lang ) | safe }}</h2>
|
|
|
|
<div class="mb-[50px] grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-x-10 gap-y-32">
|
|
{% for feature in features.sections %}
|
|
<div class="flex flex-col items-center">
|
|
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
|
|
<img src="{{ feature.imgLight }}" alt="" class="dark:hidden"/>
|
|
<img src="{{ feature.imgDark }}" alt="" class="hidden dark:block"/>
|
|
</div>
|
|
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">{{ feature.title | i18n({}, lang ) | safe }}</p>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{# what makes simplex private #}
|
|
<section id="privacy" class="bg-primary-bg-light dark:bg-primary-bg-dark py-[90px] overflow-hidden px-5 lg:h-[888px]">
|
|
<div class="container scale-100">
|
|
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-20">{{ "simplex-private-section-header" | i18n({}, lang ) | safe }}</h2>
|
|
|
|
<div class="swiper private-swiper overflow-hidden px-4 py-2">
|
|
<div class="swiper-wrapper mb-16">
|
|
|
|
{% for section in what_makes_simplex_private.sections %}
|
|
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
|
|
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
|
|
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="{{ section.imgLight }}" alt=""/>
|
|
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="{{ section.imgDark }}" alt=""/>
|
|
</div>
|
|
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
|
|
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">{{ section.title | i18n({}, lang ) | safe }}</h3>
|
|
<div class="flex-1 py-3 flex flex-col gap-3">
|
|
{% for point in section.points %}
|
|
<p class="text-grey-black dark:text-white text-[14px] text-center">{{ point | i18n({}, lang ) | safe }}</p>
|
|
{% endfor %}
|
|
</div>
|
|
<p class="text-grey-black dark:text-white text-[12px] text-center">{{ "tap-to-close" | i18n({}, lang ) | safe }}</p>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<img class="fixed left-[-3px] top-[52%] swiper-button-prev private-swiper-button-prev md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
|
|
<img class="fixed right-[-6px] top-[52%] swiper-button-next private-swiper-button-next md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
|
|
<img class="fixed left-[-3px] top-[52%] swiper-button-prev private-swiper-button-prev hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
|
|
<img class="fixed right-[-6px] top-[52%] swiper-button-next private-swiper-button-next hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
|
|
|
|
<img class="fixed left-[-3px] top-[52%] swiper-button-next private-swiper-button-next md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
|
|
<img class="fixed right-[-6px] top-[52%] swiper-button-prev private-swiper-button-prev md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
|
|
<img class="fixed left-[-3px] top-[52%] swiper-button-next private-swiper-button-next hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
|
|
<img class="fixed right-[-6px] top-[52%] swiper-button-prev private-swiper-button-prev hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
|
|
|
|
<div class="swiper-scrollbar dark:bg-grey-black dark:bg-opacity-[0.2]"></div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{# Network #}
|
|
<section id="network" class="bg-secondary-bg-light dark:bg-secondary-bg-dark lg:h-[642px] py-[95px] px-5">
|
|
<div class="container">
|
|
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-5">{{ "simplex-network-section-header" | i18n({}, lang ) | safe }}</h2>
|
|
<p class="text-black dark:text-white text-[16px] font-normal text-center mb-16">{{ "simplex-network-section-desc" | i18n({}, lang ) | safe }}</p>
|
|
|
|
<div class="flex flex-col lg:flex-row justify-between gap-12 md:gap-14 lg:gap-16">
|
|
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
|
|
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
|
|
<img src="/img/new/network-1.svg" alt="" class="dark:hidden"/>
|
|
<img src="/img/new/network-1-dark.svg" alt="" class="hidden dark:block"/>
|
|
</div>
|
|
<div class="md:flex-[2] flex flex-col items-center justify-center">
|
|
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">{{ "simplex-network-1-header" | i18n({}, lang ) | safe }}</h3>
|
|
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
|
|
{{ "simplex-network-1-desc" | i18n({}, lang ) | safe }} <a href="javascript:void(0)" data-show-overlay="{{ simplex_network_overlay.sections[0].overlayContent.overlayId }}" class="open-overlay-btn">{{ "simplex-network-1-overlay-linktext" | i18n({}, lang ) | safe }}</a>.
|
|
{{ overlay(simplex_network_overlay.sections[0],lang) }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="hidden md:block lg:hidden mx-5 dark:opacity-[0.2]">
|
|
|
|
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
|
|
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
|
|
<img src="/img/new/network-2.svg" alt="" class="dark:hidden"/>
|
|
<img src="/img/new/network-2-dark.svg" alt="" class="hidden dark:block"/>
|
|
</div>
|
|
<div class="md:flex-[2] flex flex-col items-center justify-center">
|
|
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">{{ "simplex-network-2-header" | i18n({}, lang ) | safe }}</h3>
|
|
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
|
|
{{ "simplex-network-2-desc" | i18n({}, lang ) | safe }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="hidden md:block lg:hidden mx-5 dark:opacity-[0.2]">
|
|
|
|
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
|
|
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
|
|
<img src="/img/new/network-3.svg" alt="" class="dark:hidden"/>
|
|
<img src="/img/new/network-3-dark.svg" alt="" class="hidden dark:block"/>
|
|
</div>
|
|
<div class="md:flex-[2] flex flex-col items-center justify-center">
|
|
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">{{ "simplex-network-3-header" | i18n({}, lang ) | safe }}</h3>
|
|
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
|
|
{{ "simplex-network-3-desc" | i18n({}, lang ) | safe }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
|
|
{# simplex explained #}
|
|
{% include "simplex_explained.html" %}
|
|
|
|
|
|
{# Comparison #}
|
|
<section id="comparison" class="bg-secondary-bg-light dark:bg-secondary-bg-dark lg:h-[950px] py-[90px] px-5">
|
|
<div class="text-grey-black dark:text-white container flex flex-col">
|
|
<h2 class="text-[35px] leading-[43px] md:leading-[55px] lg:leading-[36px] text-center font-bold mb-12 lg:mb-[90px]">{{ "comparison-section-header" | i18n({}, lang ) | safe }}</h2>
|
|
|
|
<div class="w-full overflow-auto">
|
|
<table class="w-full border-separate border-spacing-x-5 border-spacing-y-2 mb-14">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th class="flex items-center justify-center pb-4">
|
|
<img class="h-[34px] dark:hidden" alt="simplex logo" src="/img/new/logo-light.png"/>
|
|
<img class="h-[34px] hidden dark:block" alt="simplex logo" src="/img/new/logo-dark.png"/>
|
|
</th>
|
|
<th class="pb-4">{{ "protocol-1-text" | i18n({}, lang ) | safe }}</th>
|
|
<th class="pb-4">{{ "protocol-2-text" | i18n({}, lang ) | safe }}</th>
|
|
<th class="pb-4">{{ "protocol-3-text" | i18n({}, lang ) | safe }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "comparison-point-1-text" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-private" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>1</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>2</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>3</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "comparison-point-2-text" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-secure" | i18n({}, lang ) | safe }} <sup>4</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>5</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "comparison-point-3-text" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-resilient" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no" | i18n({}, lang ) | safe }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "comparison-point-4-text" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-decentralized" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-federated" | i18n({}, lang ) | safe }} <sup>6</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>7</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "comparison-point-5-text" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">{{ "no-resilient" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }}</td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>2</sup></td>
|
|
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">{{ "yes" | i18n({}, lang ) | safe }} <sup>8</sup></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<hr class="block mb-8 mx-5 dark:opacity-[0.2]">
|
|
|
|
<div>
|
|
<div class="px-5">
|
|
<ol class="text-sm lg:text-base font-medium leading-6 list-decimal list-inside">
|
|
<li> {{ "comparison-section-list-point-1" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-2" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-3" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-4a" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-4" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-5" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-6" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "comparison-section-list-point-7" | i18n({}, lang ) | safe }} — <a class="underline text-primary-light dark:text-primary-dark underline-offset-2" href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/SIMPLEX.md#comparison-with-p2p-messaging-protocols">{{ "see-here" | i18n({}, lang ) | safe }}</a></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="messengers-comparison" class="bg-primary-bg-light dark:bg-primary-bg-dark py-[90px] px-5">
|
|
<div class="text-grey-black dark:text-white container flex flex-col">
|
|
<h2 class="text-[35px] leading-[43px] md:leading-[55px] lg:leading-[36px] text-center font-bold mb-12 lg:mb-[90px]">{{ "how-secure-comparison-title" | i18n({}, lang ) | safe }}</h2>
|
|
|
|
<div class="w-full overflow-auto">
|
|
<table class="w-full border-separate border-spacing-x-5 border-spacing-y-2">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto" alt="simplex logo" src="/img/messengers/session.svg"/>
|
|
<p>Session</p>
|
|
</th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto" alt="simplex logo" src="/img/messengers/briar.svg"/>
|
|
<p>Briar</p>
|
|
</th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto" alt="simplex logo" src="/img/messengers/element.svg"/>
|
|
<p>Element</p>
|
|
</th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto" alt="simplex logo" src="/img/messengers/cwtch.png"/>
|
|
<p>Cwtch</p>
|
|
</th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto" alt="simplex logo" src="/img/messengers/signal.png"/>
|
|
<p>Signal</p>
|
|
</th>
|
|
<th class="pb-4">
|
|
<img class="h-[60px] mr-auto ml-auto dark:hidden" alt="simplex logo" src="/img/new/logo-symbol-light.svg"/>
|
|
<img class="h-[60px] mr-auto ml-auto hidden dark:block" alt="simplex logo" src="/img/new/logo-symbol-dark.svg"/>
|
|
<p>SimpleX</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-message-padding" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>1</sup></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup class="red-ballot-x">1</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-repudiation-deniability" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>2</sup></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>3</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-forward-secrecy" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-break-in-recovery" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span><sup>4</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-two-factor-key-exchange" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>5</sup></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>5</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>5</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="min-w-[210px]">{{ "how-secure-post-quantum-hybrid-crypto" | i18n({}, lang ) | safe }}</td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria red-ballot-x"><span class="criteria-mark">✗</span></td>
|
|
<td class="criteria yellow-check"><span class="criteria-mark">✔︎</span><sup>6</sup></td>
|
|
<td class="criteria green-check"><span class="criteria-mark">✔︎</span></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<hr class="block mb-8 mx-5 dark:opacity-[0.2]">
|
|
|
|
<div>
|
|
<div class="px-5">
|
|
<ol class="text-sm lg:text-base font-medium leading-6 list-decimal list-inside">
|
|
<li> {{ "messengers-comparison-section-list-point-1" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "messengers-comparison-section-list-point-2" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "messengers-comparison-section-list-point-3" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "messengers-comparison-section-list-point-4" | i18n({}, lang ) | safe }} — <a class="underline text-primary-light dark:text-primary-dark underline-offset-2" href="https://eprint.iacr.org/2021/626.pdf" target="_blank">{{ "see-here" | i18n({}, lang ) | safe }}</a>.</li>
|
|
<li> {{ "messengers-comparison-section-list-point-5" | i18n({}, lang ) | safe }}</li>
|
|
<li> {{ "messengers-comparison-section-list-point-6" | i18n({}, lang ) | safe }}</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{# join simplex #}
|
|
{# {% include "sections/join_simplex.html" %} #} |