by a7b3fa on 11/25/2020, 10:55:45 AM
I was wondering how it compares to Syncthing[0], which I currently use to sync files between my phone and PC.
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/2020, 2:13:32 PM
I tried install it from the play store, but
This app is incompatible with your device.
I saw it requires Android 7, but mine is 9.
Recently I've been playing with an idea of a file server on my Android phone, with a web browser access.
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