V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nicoljiang
V2EX  ›  分享创造

🌟 开源:「缤纷快传」一个不用数据库、可支持「即传即下」的「Wetransfer」或「奶牛快传」轻量替代品

  •  
  •   nicoljiang · 37 天前 · 1533 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

    演示: https://send.bitiful.com/ - 演示限制:上传 1 GB 文件,下载 2 次
    仓库: https://github.com/bitiful/send

    有如下特点:

    1. 简单美观:有不错的界面和交互;
    2. 轻量简单:不依赖任何数据库,可以简单地构建在 PaaS 服务中;
    3. 对接容易:兼容所有支持 S3 协议的对象存储;
    4. 高性能:使用预签名方式直接上传至对象存储,不用服务器中转。

    搭配 缤纷云 S4 效果更佳

    能得到如下特有功能:

    1. 通过预签名链接真正意义上限制下载次数( DEMO 中为限制两次),保护资源和成本;
    2. 通过次数限制,帮助预签名的 PutObject 避免重放攻击;
    3. 通过 no-wait 参数启用「同步传输」功能:上传一旦开始(不用等待上传完毕),对方即可开始下载文件。

    技术细节说明

    1. S4 的次数限制:失败的上传请求,不计次数;失败的下载请求,且下载的字节数不足 1/3 时,不计次数。
    2. S4 的同步传输:若在上传启动之前,访问对象 URL 加上 no-wait=5 后,会阻塞 5 秒(最多可以等待 10 秒),一旦上传在 5 秒内开始,下载请求会立即收到服务器推送的字节。
    3. Simul-Transfer 同步传输技术的 演示视频

    其他建议

    可以利用 CF 等服务搭建一个 短网址 服务,然后可以在生成分享链接的时候调用接口生成一个 跳转短网址。

    13 条回复    2024-06-17 16:10:52 +08:00
    gongquanlin
        1
    gongquanlin  
       37 天前
    只有前端没有后端吗
    uIPC
        2
    uIPC  
       37 天前
    已 Starred 学习,可以实现端到端加密吗?
    nicoljiang
        3
    nicoljiang  
    OP
       37 天前
    @uIPC 没有实现,但实现一下也很容易。
    @gongquanlin 后端就一个 S3 的预签名接口,可以看 Readme 指向的另外一个仓库。然后没有其他的后端依赖了。
    uIPC
        4
    uIPC  
       37 天前
    看下了你们的缤纷云感觉挺不错,刚好可以把我最近倒腾的一个项目产生的视频云存储上去。
    nicoljiang
        5
    nicoljiang  
    OP
       37 天前
    @uIPC 欢迎体验,控制台有群二维码
    starxg
        6
    starxg  
       37 天前
    怎么盈利?
    esxlin
        7
    esxlin  
       36 天前
    早年奶牛用户,感谢分享。是否考虑后期部署 P2P 共享存储缩减带宽成本的选项
    yann123
        8
    yann123  
       36 天前
    这个是传到你们云上了吧,不是点对点传输吧
    nicoljiang
        9
    nicoljiang  
    OP
       36 天前
    @yann123 不是点对点,可以传到支持 S3 协议的对象存储。只是如果使用 S4 ,多一些独有功能,更安全,效率也更高。
    @esxlin 不是很了解 P2P 共享存储这个东西,短期应该不会。
    @starxg 这是一个 DEMO
    BYDH
        10
    BYDH  
       36 天前
    我有一个自用的临时文件小工具,后端一坨子东西,无服务器
    目前的一般用法大概是在客户端打包随机加密,设置时限、可获取次数
    把上传完成获得的 id 和不会上传的 key 加密为任意客户端可用的获取凭证
    传文件只能用专用的客户端蛮蠢的,虽然体积很小
    但主要还是因为水平有限,在浏览器里搞不定,或者说搞不好
    我不太希望用户注意到加解密的过程,什么样子扔进去,就什么样子吐出来
    nicoljiang
        11
    nicoljiang  
    OP
       35 天前
    @BYDH 这应该就是一个很典型的端端加密文件分享场景,可以用 service worker 。https://new.space 就是这么用的。
    woc
        12
    woc  
       33 天前
    感觉缤纷没必要下场做一个这个。我是奶牛创始人,现在我和奶牛初创团队做了一个新的 woc.space ,感觉和缤纷合作的可能性还是比较大的
    woc
        13
    woc  
       33 天前
    缤纷的同学麻烦可以 woc.space 进入到我们社群哈,之后我在社群里面单独加了聊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2101 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:41 · PVG 09:41 · LAX 18:41 · JFK 21:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.