TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: A file server for Android, end-to-end encryption, web access

20 点作者 brugeman超过 4 年前
Recently I&#x27;ve been playing with an idea of a file server on my Android phone, with a web browser access.<p>I wanted to replace:<p>- AirDroid - sending files to my own PC or laptop.<p>- ShareIt - sending big files over the local network to my family devices.<p>- Dropbox - sharing select files with other people over the Internet.<p>Requirements I had in mind:<p>- end-to-end encryption, no sign ups, no accounts, no passwords<p>- local connection if devices are on the same network<p>- asynchronous access, server should work seamlessly in the background<p>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.<p>The file server app is on the PlayStore[1], web-client is here[2], and you can check out the roadmap[3].<p>Shoutouts to these great tools that made it possible:<p>- libsodium[4], and it&#x27;s JS version, are used for the end-to-end encryption<p>- 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.<p>Current limitations:<p>- p2p only works on local networks, wait until WebRTC transport is implemented in the server<p>- 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&#x27;s downloaded in plain and without limits.<p>Please roast this thing!<p>--<p>[1] PlayStore: https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=im.recall.android<p>[2] Web client: http:&#x2F;&#x2F;web.recall.im<p>[3] Roadmap: https:&#x2F;&#x2F;recall.im<p>[4] LibSodium: https:&#x2F;&#x2F;github.com&#x2F;jedisct1&#x2F;libsodium<p>[5] StreamSaver.js: https:&#x2F;&#x2F;github.com&#x2F;jimmywarting&#x2F;StreamSaver.js<p>[*] A demo of some files I shared, served by my phone: http:&#x2F;&#x2F;web.recall.im&#x2F;#peer=c7e0f38a7f60752b4fa3017807fc731f2c8cb87b3d7d35c8131196c74daa847c;share_id=476c946195b047d3898c51291cd37dfb

2 条评论

a7b3fa超过 4 年前
I was wondering how it compares to Syncthing[0], which I currently use to sync files between my phone and PC.<p>It looks like the main difference is that Recall doesn&#x27;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&#x27;s really cool!<p>[0] <a href="https:&#x2F;&#x2F;syncthing.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;syncthing.net&#x2F;</a>
评论 #25208158 未加载
llagerlof超过 4 年前
I tried install it from the play store, but<p><pre><code> This app is incompatible with your device. </code></pre> I saw it requires Android 7, but mine is 9.
评论 #25210057 未加载