When you are on the same network as a contact, it seems wasteful to have messages go to relay servers and then to clients. Wasteful and slow even. I sometimes see the little hourglass icon while a message is sending and I’m thinking “we’re literally in the same house, what are we doing here guys?”
Is there a privacy-preserving way that we could use p2p chat via Iroh directly with contacts if we’re on the same network?
Expected behavior
When I’m on the same wifi network as someone and we are contacts in Delta Chat, we can message each other directly, without going to the servers as middlemen.
Actual behavior
When we are contacts on the same wifi, our messages go to servers and then to our clients.
High speed file transfer and low latency messaging. Both sender and receiver need to open the app to transfer files. If not, messages and image previews will be sent through the regular updates and files won’t be sent.
With this app you can have real-time ephemeral threads/discussions inside your chats, ideal for off-topic discussions without disturbing other members of the group. See who is online, “typing…” indicators and real-time message delivery, ideal for fast-paced IRC/Slack-like conversations. Tips: type /nick command in the input field to change nick, /topic to change the thread topic
from my understanding, spending many months with the team this is not a planned feature. if you’re comfortable running your own relay (ie in the house/office) myself or someone else can help you setup a tunnel/split-brain setup. this allows you to have near wire-speed communications without egressing up and out to the public internet.
i realize this doesn’t directly address your concern, but there are some of us running modified setups like this or closed systems (i run one too) in the office. reach out and let me know if you’re interested.
No, I’m essentially talking about only using chatmail as a fallback and preferring direct p2p if possible. I actually thought that’s how the Iroh integration was going to work in Delta Chat originally. These mini apps make no sense from a UX standpoint. Why would you chat inside an app in your chat lol.
Does it use the Iroh library and user keys for dialing that already exist in DC?
I think your question could be generalized further:
Could chat participants exchange messages in ways other than through their respective chatmail server?
Iroh and the recently added support for federation delivery over HTTPS shows that email is just one of the possible transports. As long as batches of messages are properly framed, (compressed), signed and encrypted, it shouldn’t matter how it reaches the recipient:
Bluetooth piconet
Wifi P2P Direct
sneakernet over a data mule: i.e., the device of mutual contacts who you regularly meet in person could sync automatically
LAN, including through switches and wifi AP
through a chatmail server, usually through WAN
Briar already supports such a hybrid delivery scheme over Bluetooth and Tor:
I think to do this in a privacy preserving way, you’d basically put out a presence indicator using an ephemeral, rotating key derived from shared secrets you have with your contacts.
If you and your contact is online at the same time, you can then send and receive directly and only fallback to SMTP
But of course, the odds of both having the app open at the same time even if you’re on the same network are pretty small. So it would need a lot more design work to be truly useful.