From: Juliusz Chroboczek <jch@irif.fr> To: galene@lists.galene.org Subject: [Galene] Peer-to-peer file transfer in Galene Date: Sun, 30 Jan 2022 17:40:16 +0100 [thread overview] Message-ID: <877dah9nyn.wl-jch@irif.fr> (raw) 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
next reply other threads:[~2022-01-30 16:40 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-30 16:40 Juliusz Chroboczek [this message] 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
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://lists.galene.org/postorius/lists/galene.lists.galene.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=877dah9nyn.wl-jch@irif.fr \ --to=jch@irif.fr \ --cc=galene@lists.galene.org \ --subject='Re: [Galene] Peer-to-peer file transfer in Galene' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox