alist-encrypt 可直接播放加密视频,云盘资源再也不怕被和谐了, NAS 可以撤掉了

2023-04-06 17:05:39 +08:00
 byte10

背景

喜欢的话就给个小星星。

功能

已支持的功能

  1. 支持 alist 网页在线播放加密的视频,查看图片,在线下载等。
  2. 支持 alist 网页跳转到 IINA ,VLC ,Infuse 等播放器上进行播放。
  3. 在 webdav 客户端上的所有操作都是透明,上传自动加解密,可播放加密视频、查看图片等。
  4. 据文件夹的命名规则 自动解密别人分享的内容。
  5. 设置不同目录 不同密码加密。
  6. 提供 cli 程序进行文件解密\加密,用于分享对方在下载后解密。
  7. 支持编译成可执行文件,可以在多平台上直接运行。虽然体积不不上 go ,但是也算减低门槛。

待实现功能

  1. 可以把未加密(或已加密)的文件夹 A (或文件) -> 转存到加密文件夹 B 中,用于转存别人分享的文件。
  2. 支持可选加密文件名。
  3. 后续还会移植到安卓的 Auto.js App 中运行。

现况

最近发布的版本已加入了 AES-CTR 流式加密算法,之前一直纠结 RC4 算法是否足够安全的问题,现在总算完美了。AES 有 cpu 指令加持的情况下,速度非常快,s905l3a 可以跑到近千兆,其他的 cpu 更加不用说了。

目前项目还很初期,算法应该是确定下来了,对大型的 nodejs 项目,我还不是很有经验,可优化的地方还很多。希望有 nodejs 开发经验的小伙伴来帮忙维护,希望它也来越好吧。

这个项目意义很大,应该可以让云盘火起来,相信愿意使用网盘的用户会越来越多。

3039 次点击
所在节点    分享创造
26 条回复
shyrock
2023-04-06 18:34:11 +08:00
是用 alist 放自己 nas 的视频?还是用 alist 放阿里云盘的视频?
byte10
2023-04-06 18:48:07 +08:00
@shyrock 是 alist 播放阿里云盘的视频,任何云盘的视频 。这个 alist-encrypt 服务其实可以理解为 nginx ,它拦截了上传的流量和下载的流量,自动加解密。 真的很强,透明的传输,中间不产生文件。你可以体验一下,看看演示的视频就知道了。
NeverBB
2023-04-06 21:20:40 +08:00
你干了我一直想干的事情,谢谢兄弟
byte10
2023-04-07 08:26:18 +08:00
@NeverBB 嗯,低调使用。算法是公开的,RC4-md5 和 aes-ctr ,密匙就是你的密码,iv 就是文件大小。任何时刻都可以恢复你的文件哦,还是很不错的。可以低调推广下😄
musi
2023-04-07 08:44:11 +08:00
“它拦截了上传的流量和下载的流量”
那我的带宽不就受到这个代理服务器的影响了?除非把这玩意装到本机,不过你用 node 开发的我手机怎么办
musi
2023-04-07 08:46:08 +08:00
@musi #5 也不对,如果做成客户端就变成端到端加密了,那也没必要选这个了
byte10
2023-04-07 10:33:40 +08:00
@musi 首先这个 encrypt 就是要安装到局域网中的设备,比如你家里的 nas 或者 arm 盒子。如果是你的手机,那么可以安装 autojs 可以运行这个项目(还没兼容,后续会加上)或者使用 termux 进行运行部署。你可以看看视频的演示。

encrypt 就是一个类似 nginx 的一样的东西,你可以部署到任意地方 进行反向代理流量,会自动加解密。它依赖 alist ,所以你需要部署一个 alist ,这个 alist 你可以部署到任意地方,云端也可以,不影响速度,因为 alist 的资源都是 302 。

这个项目意义很大,可以了解下。
byte10
2023-04-07 10:42:20 +08:00
@musi 其他的端到端加密,大多数都无法做到在线播放加密视频吧?我这个用的是流加密算法,可以在任意位置进行加解密 。
musi
2023-04-07 10:55:59 +08:00
@byte10 #7 标题上"NAS 可以撤掉了",我自己有 NAS 就不需要这个了,手机上使用还是过于麻烦,思路挺好,但意义一般
musi
2023-04-07 10:56:44 +08:00
@byte10 #8 视频加密也很常见,比如视频点播,业界都是使用流式加密
byte10
2023-04-07 11:58:28 +08:00
@musi 虽然你说很常见,但是我没看到有类似的产品,按道理这个网盘加密需求还是很硬核的。NAS 的需求 有一部分的原因就是不相信云盘,有了加密之后,这部分朋友就没必要使用 nas 了,我的就是其中一个。也有人用了这个加密,准备卖掉 nas 的。网盘不限速度的情况下,还是不错的。
musi
2023-04-07 13:15:00 +08:00
@byte10 你这所谓的网盘加密就是普通端到端加密,这个有很多工具可以实现,流式看视频,这个用 ffmpeg 切片可以实现,而且你这 iPhone 基本没法用,还是要在局域网搭一个服务,我都在局域网有服务了直接用硬盘不香嘛
codingBug
2023-04-07 14:07:46 +08:00
如果我都部署到服务器上,上传下载走的服务器带宽吗?那我播放的时候走的 302 ,是不是需要在本地启动一个 alist-encrypt
byte10
2023-04-07 17:20:45 +08:00
@codingBug 如果你的 alsit 部署到服务器云端,那么上传的时候用的就是云端的带宽。如果是下载,一般默认就是 302 ,最好就是本地部署一个 alist-encrypt ,后续会支持安卓 app 的 autojs 。目前也支持打包成可执行文件,windows 使用也很方便,直接运行。其他就是 docker 运行比较方便了。
byte10
2023-04-07 17:39:35 +08:00
@musi ffmpeg 分片的加解密不太清楚,复杂了一些。Iphone 确实只能在局域网内使用,如果部署 encrypt 到云服务器也不是不行。总之是一个还不错的方案,可以代替部分 nas 需求。50 包邮一个 arm 盒子就可以做到全云盘 的资源的播放和查看,还是很香的。如果它能确保 云盘安全的情况下,应该会有人去使用这样的的方案把,现在的网盘很多都不限速了,等于你的资源 放更大的局域网中了,速度没问题的。
goodryb
2023-04-07 17:55:44 +08:00
感觉还不错,期待出稳定版本
MeteorVIP
2023-04-08 07:18:54 +08:00
看完视频了,非常厉害呀
byte10
2023-04-08 08:58:14 +08:00
@goodryb 嗯快了,算法加了 AES-CTR 非常的稳,性能几乎无损耗,之前一直纠结算法的问题,现在就等把文件名加密解决一下。就可以发布稳定版。
@MeteorVIP 其实实现很简单,判断上传还是下载,然后加密解密即可。核心代码,几百行。其他就是解决一些细节问题,一些云盘差异的问题。虽然很实现很简单,但是市面上却没有找到相关的产品,nodejs 跨平台还是很不错,也可以打包成可执行文件,虽然跟 go 比差那么一点。主要是 go 不熟悉,不太确定它的开发成本。而且后续支持在安卓 app 的 autojs 的上进行部署,算是一个小优点。
MeteorVIP
2023-04-08 09:46:27 +08:00
有一个小小的问题:分享给朋友,那朋友就知道密码咯?
简单的说:密码是防网盘的检查,对网友来说是公开的是吧?
最后一个问题:通过网盘直接下载加密过的文件。应该可以通过工具解密吧?
byte10
2023-04-08 12:30:38 +08:00
@MeteorVIP 1 、分享给朋友的时候,需要把加密的密码也分享,不过密码有替身,并不是直接分享原密码。而是分享你原密码的 sha256 值,不会导致你的原密码泄露。2 、可以通过工具解密的,原程序支持 cli ,前期可以直接本地 批量加密文件夹的文件,从云盘直接上传,后续使用全部在 encrypt 的上进行操作就好了,修改文本,上传图片 视频等都可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/930325

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX