FishBone-另一个Paste存储网站

这是啥?

如题目所言,这是一个基于PasteMe开源后端搭建的文本记录存储系统,提供加密与过期自动删除功能.本项目只是一个不成熟的实验性项目,功能和外观随时可能发生变更,也不保证存储的数据的稳定性,(大概率)随时有可能删库跑路.

有什么特点?

  1. 通过密码加密Paste的加密过程在浏览器端完成,发送到服务器的只有加密后的密文.未知密码时,无法从密文还原Paste.
  2. 通过焚毁Token的形式来鉴权以删除Token.
  3. 指定有效期,过期自动删除.同时并没有永久Paste存储,默认存储7天.
  4. 支持39种语言高亮.添加了Highlightjs 支持的Common分组的所有语言.
  5. 与PasteMe风格不相同但也力图简洁的UI.

FishBone 如何保护您的Paste

  1. 当您在更多选项中输入密码来保护Paste时,FishBone会在浏览器中执行以您的密码为Secret的AES加密,加密的内容为您的Paste内容前缀上一段标志串(这里以#Flag#为例子).

    encryptedContent=AES.Encrypt("#Flag#"+Content,Password)
  2. 如果您选择了阅后即焚,那么FishBone会生成一个随机焚毁Token,并使用同样的密码对其进行AES加密,焚毁Tokentoken与加密后的密文encryptedToken会一同提交到服务器.
  3. 当您访问这个Token时,FishBone从服务器取回密文,并要求您输入密码解密.当您提交密码后,FishBone会尝试使用您提交的密码进行解密.如果解密失败(生成了乱码字节数组)或解密成功但是前6个字符并非之前设置的标记位,则证明密码不正确.如果解密的字符串前6个字符与标记位相同,那么认定密码正确.通过这种方式,FishBone并没有存储您的密码信息(也不需要关心您的密码信息)就完成了密码的校验.

    Content=AES.Decrypt(encryptedContentContent,Password)
    Content.startwith("#Flag#")?
  4. 如果这个Paste是带有密码的阅后即焚,那么FishBone从服务器取回的还有加密的encryptedToken.当认定密码正确后,FishBone会接着使用这个密码来解密encryptedToken,并开启30s的阅后即焚倒计时.如果没有被取消,30s后会使用解密获得的Token向服务器请求删除. 但是请注意,如果阅后即焚的Paste没有密码,那么当Paste显示出来时就已经删除了.
  • 你可能会担忧: 服务器实际上存储了tokenencryptedToken明文-密文对,可以构造 已知明文攻击 (Known-plaintext attack) .

    但是实际上大可不必担心,有数据表明,对于256bit AES加密,使用已知明文攻击的平均尝试次数约为$$ 2^{125}$$,实际上并没有比暴力破解的$$2^{127}$$好多少.因此有人认为AES可以抵抗已知明文攻击.当然,最最重要的一点在于,从一个密文对中猜测加密规则的成功率本身就微乎其微.因此,您的Paste仍安然无虞.

FAQ

  • 为什么叫FishBone?

    没有什么特殊的意义,实际上比名字更先找到的是项目的Logo↓,于是就命名为鱼骨头了(或者叫鱼刺 --Up to you.)

Fishbone

  • FishBoneForever选项是什么?

    Forever会将Paste暂时存入Redis里面,TTL为7天,7天内访问一次,TTL将被重置为7天.所以,如果没有访问,Paste会被Redis丢弃,且无法找回.

    实际上,我们了解到,即使是提供永久存储的PasteMe服务,大多数人也很少在一段时间后再去读取某个Paste.因此我们认为,对此类以链接维系的文本存储平台而言,永久存储并没有什么意义.

    死亡不是永别,忘记才是,如果你真的需要所谓的Forever,就记得每隔7天续命一次,直到你忘记它为止.

    不过,如果你真的有珍贵到不能丢失的资料,为什么要存放在一个你不能控制的第三方平台呢?

  • 访问速度并不稳定.

    本站服务器位于国外,使用了Cloudflare减速器作为CDN,由于Cloudflare的免费线路大多被无良机场主白嫖过度,导致高峰期访问速度可能会很慢.但是其实时间更多花在了连接的建立阶段.作为一个SPA应用,FishBone的大多数资源文件直接引用自AliCDN加速的饿了么镜像点,与服务器直接传输的数据量很小,因此速度在大多数时候也可以接受.

    • 可以增加图片存储或Markdown渲染功能吗?

    抱歉,这与本项目的主旨相左.FishBone是面向(纯)文本的储存网站,且不会做任何处理和渲染,请您注意,项目的主旨并不在于分享,而在于单纯存储.基于此,本项目也声明:所有展示内容的所有权归于用户,本项目亦不为任何用户创建的不当言论负责.

    • 某些Paste让我感到不适.

    人类的性癖互不相通,但人不能\至少不应该,我们坚信保障隐私权并不代表放任不良信息传播.如果您在公开或加密Paste中发现了令人不适的信息,请发邮件到 saltedfish A.T. saltedfish.fun,并附带Paste编号与密码,我们会删除它们.但是由于上文提到的加密措施,我们无法(也不愿意)在没有密码的情况下对加密Paste进行审查或对提交者进行追踪.

    • 这个项目会维持多久?

    很抱歉,但是这只是个测试项目,可以预见的是不会很久.同时本站也很难对数据的可用性负责,删库跑路也是很有可能的事情.不要对它(或者我)有太高期望,否则还是 另请高明吧

    • 我有建议.

    请在下面评论或发送邮件.感谢您做的一点微小的贡献

tag(s): none
show comments · back · home
Edit with markdown

仅有一条评论

  1. Aimer

    支持!

    Aimer January 14th, 2021 at 10:16 pm回复