The short answer is that so long as the page is loaded entirely over TLS, and the TLS isn't stripped or subverted in any way, it's safe from MITM. Sharefest doesn't currently support TLS, so they would need to set that up prior to enabling end-to-end encryption.
https://github.com/Peer5/ShareFest/issues/30#issuecomment-20...
You can download ShareFest, audit it and store it locally so you can run your known-good version. It's just an HTML page and a few JS files (or at least it was, last time I looked).
I was going to create a version of this that was a single webpage and had as little code as possible (for auditability and ease of saving/deployment), but other projects got in the way (plus it's easier to improve ShareFest than write it from scratch).
Being a live webpage also give us, as the developers, much less headaches in terms of protocol compatibility -- We maintain just one "version" of Sharefest client at the same time.
Developers can extend this platform with as many plugins as they wish - as an open-source solution, it's totally open. (I believe fragmentation, more specifically increasing the number of less advanced solutions doesn't help...)
* Generate the URL like sharefest.me/roomid#randomstring
* Sharefest encrypts the file contents before and after transmission with randomstring as key using the SJCL.
* Send the URL/key out of band, over a secure channel.
* Voila, end-to-end crypto.
I don't know if anything became of it, though.
EDIT: Oh, here it is: https://github.com/Peer5/ShareFest/issues/24