Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
* [Galene] Peer-to-peer file transfer in Galene
@ 2022-01-30 16:40 Juliusz Chroboczek
  2022-01-30 16:44 ` [Galene] " Juliusz Chroboczek
  2022-01-30 16:45 ` Dave Taht
  0 siblings, 2 replies; 10+ messages in thread
From: Juliusz Chroboczek @ 2022-01-30 16:40 UTC (permalink / raw)
  To: galene

Hi,

I've been trying to refrain from adding too many features that are not
related to videoconferencing, but given the lack of simple to setup
peer-to-peer file transfer protocols, I've given in on this one.

In order to send a file to a member of the group, just type "sendfile user"
and follow the prompts.

This is stricly peer-to-peer: the server is only used for signalling
(exchanging IP addresses and cryptographic keys).  The protocol is
somewhat convoluted (and undocumented), in order to satisfy the following
properties:

  - rejecting an offered file does not disclose your IP address to the peer;
  - there is an application handshake at the end, so the sender has
    reliable feedback on whether the file went through.

Of course, sending or accepting a file does disclose your IP address --
that's the nature of peer-to-peer.

While the protocol is reasonably secure (SCTP over DTLS), anyone who
controls the server can trivially set up an MITM attack.  As always,
please set up your own server if you're exchanging sensitive data.

It's not very efficient.  On the sender side, we manually chop the data
into 16kB chunks (so that we don't run afoul of SCTP limitations).  Even
worse, on the receiver side, the whole file is kept in memory (since
Chrome does not support RTCDataChannel.binaryType being set to "blob", and
since no browser supports streaming received data to disk).  Still, it
should be sufficient for sharing your slides during a presentation or
sending funny pictures during a boring lecture.

-- Juliusz

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-01-30 18:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-30 16:40 [Galene] Peer-to-peer file transfer in Galene Juliusz Chroboczek
2022-01-30 16:44 ` [Galene] " Juliusz Chroboczek
2022-01-30 16:45 ` Dave Taht
2022-01-30 17:22   ` Juliusz Chroboczek
2022-01-30 17:34     ` Dave Taht
2022-01-30 18:00       ` Juliusz Chroboczek
2022-01-30 18:12         ` Dave Taht
2022-01-30 18:19           ` Juliusz Chroboczek
2022-01-30 18:23             ` Dave Taht
2022-01-30 18:34               ` Juliusz Chroboczek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox