[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

Not quite, SimpleX runs on a client-server architecture, messages route through relay servers that hold them temporarily until delivered, then delete them. MTC messages go device to device with nothing storing them in between, not even temporarily.

[-] GradleSurvivor@lemmy.ml 1 points 1 day ago

It's mostly about positioning.

MTC aims for a balance between standard rich-media real-time messaging, including audio/video calls (WhatsApp-like), and privacy (full peer-to-peer, no registration, no phone number).

The target is a standard messaging-app user who wants more privacy for their conversations without giving up the features they're used to.

Jami uses a very similar set of protocols, the main difference is how peers are discovered, Jami uses a distributed hash table (OpenDHT) where every device is a node on the network, which can mean more setup friction and a more technical experience, aimed at a more tech-savvy audience. One side effect is that your IP is visible to DHT nodes, in MTC it's only ever exposed to your actual contact and the TURN relay.

[-] GradleSurvivor@lemmy.ml 1 points 1 day ago

This is my plan, currently the App is in beta testing, I'm in a phase of trying to find people to stress test it, once the code is properly debugged I will make my GitHub public.

[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

This is a very open question, there are a lot out there.

In a nutshell, MTC is a balance between standard rich multimedia real-time messaging, including audio/video calls (WhatsApp like), and privacy (full peer-to-peer, no registration, no phone number).

MTC’s target users would be standard messaging app users with some more attention and concern about protecting their private conversations, without giving up all the standard messaging features they’re used to.

Other apps have different balances, (e.g Briar optimizes for metadata-hiding, less rich chat capabilities, Signal requires your phone number to register, etc..).

[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

Briar is good, it has just has a different positioning.

MTC is a balance between standard rich multimedia real-time messaging, including audio/video calls, and privacy (full peer-to-peer).

Briar's design, based on Tor, limits the possibility of a full messaging experience (WhatsApp-like), but it's strong on metadata hiding, and its target users are different (activists and journalists in hostile or censored environments, etc.)

MTC's target users would be standard messaging app users with some more attention and concern about protecting their private conversations, without giving up all the standard messaging features they're used to.

[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

I agree, is actually quite high level, describing the main architecture and functionality`. What I intend to do, once the code is fully debugged, is to make my GitHub public, and upload a more detailed technical doc there. I thought not to make a public landing page, that targets a broader audience, too technical. In the meantime I'm happy to respond to any kind of technical question.

[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

Currently the App is in beta testing, I'm in the phase of trying to find people willing to stress-test it. Once the App is fully debugged my plan is to open-source it, making my GitHub public, and this is a pre-requisite for uploading the App on F-Droid.

[-] GradleSurvivor@lemmy.ml 2 points 1 day ago

That is correct, but it works well for 1 to 1 messages.

There's no relay in between, but you don't have to wait to send, you hit send normally and the message just queues locally on your device, then goes out automatically the moment a direct connection re-establishes. Nothing sits on a server in the meantime.

[-] GradleSurvivor@lemmy.ml 3 points 2 days ago

There's nothing wrong with Briar, it just has a different positioning. MTC is a balance between standard rich multimedia real-time messaging, including audio/video calls, and privacy (full peer-to-peer). Briar's design, Tor when online, Bluetooth/Wi-Fi mesh when offline, limits the possibility of a full messaging experience (WhatsApp-like), but it's strong on metadata hiding, and its target users are different (activists and journalists in hostile or censored environments, etc.). MTC's target users would be standard messaging app users with some more attention and concern about protecting their private conversations, without giving up all the standard messaging features they're used to. By the way, I'm working on implementing the Bluetooth option.

[-] GradleSurvivor@lemmy.ml 2 points 2 days ago

Sorry, I took note

[-] GradleSurvivor@lemmy.ml 4 points 2 days ago

No, you got it right, and is a fair point, I do use firestore for signalling, I can guarantee user messages are only transferred from one peer to the other with nothing in between, but I do not hide metadata.

[-] GradleSurvivor@lemmy.ml 3 points 2 days ago

Not quite, with XEP-0174 you can only reach peers on the same LAN. I use standard WebRTC signalling to establish the connection, so peers on different networks can reach each other across the internet. Discovery itself is out of band, you add a contact via QR code or a profile link, then signalling just brokers the connection to that known peer.

2

cross-posted from: https://lemmy.ml/post/47843684

cross-posted from: https://lemmy.ml/post/47843683

cross-posted from: https://lemmy.ml/post/47843635

cross-posted from: https://lemmy.ml/post/47843624

I have been working on an Android App quite a while now, starting from a simple idea.

A messenger where messages travel directly between phones with no servers in between. Using direct WebRTC encrypted connections (SRTP/DTLS), there are no servers that stores, reads, or relays content. Group chats use a gossip protocol where members relay to other members.

The only infrastructure the app touches is a signalling relay to set up the connection (no message content), a push notification to wake up a sleeping phone (also no content), and a TURN relay for restricted networks (encrypted packets only).

I wrote a detailed white paper explaining the full architecture: https://www.mindtheclub.com/white-paper.html

The app is in Open Testing on Google Play (1,000 tester cap): https://www.mindtheclub.com/beta-signup.html

I’m interested in this community's perspective on whether the architecture holds up.

2

cross-posted from: https://lemmy.ml/post/47843683

cross-posted from: https://lemmy.ml/post/47843635

cross-posted from: https://lemmy.ml/post/47843624

I have been working on an Android App quite a while now, starting from a simple idea.

A messenger where messages travel directly between phones with no servers in between. Using direct WebRTC encrypted connections (SRTP/DTLS), there are no servers that stores, reads, or relays content. Group chats use a gossip protocol where members relay to other members.

The only infrastructure the app touches is a signalling relay to set up the connection (no message content), a push notification to wake up a sleeping phone (also no content), and a TURN relay for restricted networks (encrypted packets only).

I wrote a detailed white paper explaining the full architecture: https://www.mindtheclub.com/white-paper.html

The app is in Open Testing on Google Play (1,000 tester cap): https://www.mindtheclub.com/beta-signup.html

I’m interested in this community's perspective on whether the architecture holds up.

7

cross-posted from: https://lemmy.ml/post/47843624

I have been working on an Android App quite a while now, starting from a simple idea.

A messenger where messages travel directly between phones with no servers in between. Using direct WebRTC encrypted connections (SRTP/DTLS), there are no servers that stores, reads, or relays content. Group chats use a gossip protocol where members relay to other members.

The only infrastructure the app touches is a signalling relay to set up the connection (no message content), a push notification to wake up a sleeping phone (also no content), and a TURN relay for restricted networks (encrypted packets only).

I wrote a detailed white paper explaining the full architecture: https://www.mindtheclub.com/white-paper.html

The app is in Open Testing on Google Play (1,000 tester cap): https://www.mindtheclub.com/beta-signup.html

I’m interested in this community's perspective on whether the architecture holds up.

27

I have been working on an Android App quite a while now, starting from a simple idea.

A messenger where messages travel directly between phones with no servers in between. Using direct WebRTC encrypted connections (SRTP/DTLS), there are no servers that stores, reads, or relays content. Group chats use a gossip protocol where members relay to other members.

The only infrastructure the app touches is a signalling relay to set up the connection (no message content), a push notification to wake up a sleeping phone (also no content), and a TURN relay for restricted networks (encrypted packets only).

I wrote a detailed white paper explaining the full architecture: https://www.mindtheclub.com/white-paper.html

The app is in Open Testing on Google Play (1,000 tester cap): https://www.mindtheclub.com/beta-signup.html

I’m interested in this community's perspective on whether the architecture holds up.

view more: next ›

GradleSurvivor

joined 2 days ago