From 1947b84dcfc1f27f7d52976c05e1049c945c3a27 Mon Sep 17 00:00:00 2001 From: Mikaela Suomalainen Date: Sat, 17 Aug 2019 02:33:32 +0000 Subject: [PATCH] Real time communication improvements (#1147) * voice-video-messenger: remove duplicates with instant-messenger also move Tox and Jami to Instant Messengers, Change Jitsi to Jitsi Meet * instant-messenger: remove platforms of Signal Desktop https://github.com/privacytoolsIO/privacytools.io/issues/967#issuecomment-520268788 * instant-messenger: add indepedent security audits * voice-video-messenger: mention that many are already listed above * instant-messenger: fix formatting & mention features of Jami * voice-video-messenger: list Mumble * update source_code.md * voice-video-messenger: fix card * add Mumble.png * Small revisions to the instant messengers * Spelling! * voice-video-messenger: add a warning on Jitsi Meet WebRTC * instant-messenger: remove a from Jami * instant-messenger: add VoIP badges * Use updated label functionality The labels/badges functionality added to cardv2.html in cbe5de4cc2d13d593b5f6d039a236a8b85fe0edd work better here. * Fix Jitsi Meet warning badge --- _includes/sections/instant-messenger.html | 19 ++++-- _includes/sections/teamchat.html | 12 ++-- _includes/sections/voice-video-messenger.html | 60 ++++++------------ assets/img/tools/Mumble.png | Bin 0 -> 39210 bytes source_code.md | 18 +++--- 5 files changed, 47 insertions(+), 62 deletions(-) create mode 100644 assets/img/tools/Mumble.png diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 6169619b..e7976ce8 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -1,7 +1,7 @@

Encrypted Instant Messenger

@@ -10,21 +10,20 @@ title="Signal" image="/assets/img/tools/Signal.png" description="Signal is a mobile app developed by Open Whisper Systems. The app provides instant messaging, as well as voice and video calling. All communications are end-to-end encrypted. Signal is free and open source." +labels="success:VoIP" website="https://signal.org/" forum="https://forum.privacytools.io/t/discussion-signal/664" github="https://github.com/signalapp" android="" ios="" -mac="" -windows="" -linux="" %} {% include cardv2.html title="Wire" image="/assets/img/tools/wire.png" -description='A free software End-to-End Encrypted chatting application that supports instant messaging, voice, and video calls. Full source code is available. Warning' +description="A free software End-to-End Encrypted chatting application that supports instant messaging, voice, and video calls. Full source code is available." +labels="warning:Warning:Wire stores metadata such as list of your connections/conversations in plaintext (= not encrypted).,success:VoIP" website="https://wire.com/" forum="https://forum.privacytools.io/t/discussion-wire/750" github="https://github.com/wireapp/" @@ -53,12 +52,14 @@ web=""
  • Kontalk - A community-driven instant messaging network. Supports end-to-end encryption. Both client-to-server and server-to-server channels are fully encrypted.
  • Keybase - Warning End-to-end encrypted messaging with social verification.
  • Status - Experimental A free and open-source, peer-to-peer, encrypted instant messanger with support for DAPPs.
  • +
  • Tox - Experimental A free and open-source, peer-to-peer, encrypted instant messaging and video calling software. VoIP
  • +
  • Jami (formerly Ring/SFLphone) - Gives you full control over your communications and an unmatched level of privacy. Jami has text messaging, video and audio calls, file transfer, video conferencing. VoIP
  • @@ -67,5 +68,11 @@ web="" diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index 7b6442cf..2aaaa59b 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -1,13 +1,14 @@ -

    Team Chat Applications

    +

    Team Chat Platforms

    {% include cardv2.html title="Rocket.chat" image="/assets/img/tools/rocket.chat.png" -description="Rocket.chat is an self-hostable open source platform for team communication. It has optional federation and experimental E2EE. Experimental " +description="Rocket.chat is an self-hostable open source platform for team communication. It has optional federation and experimental E2EE." +labels="warning:Experimental:Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. The federation was also added afterwards potentially causing room for mistakes." website="https://rocket.chat/" forum="https://forum.privacytools.io/t/discussion-rocket-chat/1223" github="https://github.com/rocketchat/" @@ -21,7 +22,8 @@ linux="" {% include cardv2.html title="Keybase" image="/assets/img/tools/keybase.png" -description='Keybase provides a hosted team chat with end-to-end encryption. It has also been indepedently audited (PDF). experimental (GitHub issue)' +description='Keybase provides a hosted team chat with end-to-end encryption. It has also been indepedently audited (PDF).' +labels="warning:Experimental:The server side of Keybase runs on proprietary code and is centralized." website="https://keybase.io/" forum="https://forum.privacytools.io/t/discussion-keybase/1224" github="https://github.com/Keybase" @@ -37,5 +39,5 @@ web=""

    Worth Mentioning

    diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html index 2f5a0988..51f10040 100644 --- a/_includes/sections/voice-video-messenger.html +++ b/_includes/sections/voice-video-messenger.html @@ -1,41 +1,9 @@ -

    Encrypted Video & Voice Messenger

    +

    Video/Voice Calling

    -{% include cardv2.html -title="Mobile: Signal" -image="/assets/img/tools/Signal.png" -website="https://signal.org" -description="Signal is a mobile app developed by Open Whisper Systems. The app provides instant messaging, as well as voice and video calling. -All communications are end-to-end encrypted. Signal is free and open source." -forum="https://forum.privacytools.io/t/discussion-signal/664" -github="https://github.com/signalapp" -android="" -ios="" -mac="" -windows="" -linux="" -footer="OS: Android, iOS, macOS, Windows, Linux" -%} - -{% include cardv2.html -title="Wire" -image="/assets/img/tools/wire.png" -website="https://wire.com/download/" -description="Wire is an app developed by Wire Swiss GmbH. -The Wire app allows users to exchange end-to-end encrypted instant messages, as well as make voice and video calls. Wire is free and open source. Caution " -forum="https://forum.privacytools.io/t/discussion-wire/750" -github="https://github.com/wireapp" -android="" -ios="" -mac="" -windows="" -linux="" -web="" -%} - {% include cardv2.html title="Linphone" image="/assets/img/tools/Linphone.png" @@ -51,20 +19,30 @@ mac="" web="" %} - - +{% include cardv2.html +title="Mumble" +image="/assets/img/tools/Mumble.png" +website="https://mumble.info/" +description="Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming. Note that while Mumble doesn't log messages or record by default, it's missing end-to-end encryption, so self-hosting is recommended." +forum="https://forum.privacytools.io/t/discussion-mumble/1289" +github="https://github.com/mumble-voip/" +windows="" +linux="" +mac="" +%}

    Worth Mentioning

    Related Information

    diff --git a/assets/img/tools/Mumble.png b/assets/img/tools/Mumble.png new file mode 100644 index 0000000000000000000000000000000000000000..eba10531df017d07f7ed92cbb09867d65dd8c178 GIT binary patch literal 39210 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%0DLcVH!7cd7<51Vxa@Y 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 GeEA>dzBB3o literal 0 HcmV?d00001 diff --git a/source_code.md b/source_code.md index 7de4daf3..8f0853f4 100644 --- a/source_code.md +++ b/source_code.md @@ -134,26 +134,24 @@ Backend: closed-source Status.im: https://github.com/status-im + Tox: https://github.com/TokTok/c-toxcore + + Ring/Jami: https://git.jami.net/savoirfairelinux + ## Team chat Rocket.chat: https://github.com/rocketchat/ Keybase: https://github.com/Keybase -## Encrypted Video & Voice Messenger - Signal: https://github.com/signalapp - - Wire: https://github.com/wireapp - +## Video & Voice Messenger Linphone: https://github.com/BelledonneCommunications/ + Mumble: https://github.com/mumble-voip/ + Worth Mentioning - Jitsi: https://github.com/jitsi/jitsi-meet - - Tox: https://github.com/TokTok/c-toxcore - - Ring/Jami: https://gerrit-ring.savoirfairelinux.com/#/q/status:open + Jitsi Meet: https://github.com/jitsi/jitsi-meet ## File Sharing OnionShare: https://github.com/micahflee/onionshare