by brugeman on 11/25/20, 10:33 AM with 7 comments
I wanted to replace:
- AirDroid - sending files to my own PC or laptop.
- ShareIt - sending big files over the local network to my family devices.
- Dropbox - sharing select files with other people over the Internet.
Requirements I had in mind:
- end-to-end encryption, no sign ups, no accounts, no passwords
- local connection if devices are on the same network
- asynchronous access, server should work seamlessly in the background
This week I finally managed to stitch the pieces together and get something usable and useful. I now have full access to my phone on my laptop browser, I can share files with a link without uploading to the cloud, and the local network is used whenever possible.
The file server app is on the PlayStore[1], web-client is here[2], and you can check out the roadmap[3].
Shoutouts to these great tools that made it possible:
- libsodium[4], and it's JS version, are used for the end-to-end encryption
- StreamSaver.js[5], to save large files from a non-HTTP transport without buffering it in RAM. Had to patch it to add back pressure when the download is paused.
Current limitations:
- p2p only works on local networks, wait until WebRTC transport is implemented in the server
- when downloading several files, a Zip is generated, with a 4Gb size limit, wait until I figure out the way to fix this. With a single file, it's downloaded in plain and without limits.
Please roast this thing!
--
[1] PlayStore: https://play.google.com/store/apps/details?id=im.recall.android
[2] Web client: http://web.recall.im
[3] Roadmap: https://recall.im
[4] LibSodium: https://github.com/jedisct1/libsodium
[5] StreamSaver.js: https://github.com/jimmywarting/StreamSaver.js
[*] A demo of some files I shared, served by my phone: http://web.recall.im/#peer=c7e0f38a7f60752b4fa3017807fc731f2c8cb87b3d7d35c8131196c74daa847c;share_id=476c946195b047d3898c51291cd37dfb
by a7b3fa on 11/25/20, 10:55 AM
It looks like the main difference is that Recall doesn't require you to install anything on the receiving device. You can just install Recall on your phone, and then download files via a web page. So basically you get the privacy of Syncthing with the convenience of Dropbox. That's really cool!
by llagerlof on 11/25/20, 2:13 PM
This app is incompatible with your device.
I saw it requires Android 7, but mine is 9.