4 ms·
Have you taken a look at magic-wormhole[1]? I've started using it recently and it's insanely easy to use. It does have a centralised signalling server for key
by cyphar 7y ago
Have you taken a look at magic-wormhole[1]? I've started using it recently and it's insanely easy to use.
It does have a centralised signalling server for key exchange between peers, but it does attempt to do peer-to-peer data transfer (only falling back to a TURN-style relay if both clients are behind NATs and aren't on the same local network). An explanation of the cryptography and design was given at PyCon 2016[2]. It also has built-in optional Tor support (though I'm not sure if it attempts to use an onion service for data transfer).
[1]: https://github.com/warner/magic-wormhole https://github.com/warner/magic-wormhole
[2]: https://youtu.be/oFrTqQw0_3c https://youtu.be/oFrTqQw0_3c
- zaroth 7y agoI think this project demonstrates quite handily that the problem scope of a seemingly simple task can be quite large. ~1,500 commits in that repo.
- oefrha 7y agoI’m a happy user of magic-wormhole myself. It doesn’t solve the problem of sending files to phones, though.
- lucb1e 7y agoThis is one of many reasons why I have a terminal on my phone, I can just apt install magic-wormhole and use it like on any other system. (The technical reader will note that a terminal does not give you apt, but mentioning that I have Debian running on the phone is more confusing, as it sounds like I replaced Android (which I did not) or maybe that it costs a lot of battery (the tools are idle when not in use, unlike many apps unfortunately...).)
- oefrha 7y agoSure, I can use wormhole on iSH on my iPhone/iPad if there are no alternatives. But there are alternatives, so I’ll definitely stay the hell away from it given the terrible ergonomics.
- cyphar 7y agoMaybe someone should write a magic-wormhole mobile client. It wouldn't need a complicated UI at all, and you could (try) to use Kivy[1] to avoid having to rewrite all of the Python bits. I might even try to do it as a weekend project, actually (though I suck at mobile development -- anyone else would probably be a better choice ;]). [1]: https://kivy.org/ https://kivy.org/
- big_chungus 7y agoMagic wormhole is good, and I've used it before, but it's never as fast as it could be. Something like piping to netcat is always faster. I know it's possible (albeit with a lot of work) to do this over HTTP, but google drive is probably the only site that can mostly saturate a connection. Can any one link more info on how exactly they achieve this? The only trick I know of is a better TCP congestion control algorithm.
- MacroChip 7y agoI did not know magic wormhole existed. I made a simple nodejs implementation of a very similar app. It used WebRTC so maybe it could be faster. Let me know if you want to try it out!
- big_chungus 7y agoI'd love to give it a spin; do you have a repo link? Also out of curiosity, how does it compare in terms of crypto?