这是啥?
如题目所言,这是一个基于PasteMe开源后端搭建的文本记录存储系统,提供加密与过期自动删除功能.本项目只是一个不成熟的实验性项目,功能和外观随时可能发生变更,也不保证存储的数据的稳定性,(大概率)随时有可能删库跑路.
有什么特点?
- 通过密码加密Paste的加密过程在浏览器端完成,发送到服务器的只有加密后的密文.未知密码时,无法从密文还原Paste.
- 通过
焚毁Token
的形式来鉴权以删除Token. - 指定有效期,过期自动删除.同时并没有永久Paste存储,默认存储7天.
- 支持39种语言高亮.添加了Highlightjs 支持的Common分组的所有语言.
- 与PasteMe风格不相同但也力图简洁的UI.
FishBone 如何保护您的Paste
当您在
更多选项
中输入密码来保护Paste时,FishBone会在浏览器中执行以您的密码为Secret的AES加密
,加密的内容为您的Paste内容前缀上一段标志串(这里以#Flag#为例子)
.encryptedContent=AES.Encrypt("#Flag#"+Content,Password)
- 如果您选择了
阅后即焚
,那么FishBone会生成一个随机焚毁Token
,并使用同样的密码对其进行AES加密,焚毁Tokentoken
与加密后的密文encryptedToken
会一同提交到服务器. 当您访问这个Token时,FishBone从服务器取回密文,并要求您输入密码解密.当您提交密码后,FishBone会尝试使用您提交的密码进行解密.如果解密失败(生成了乱码字节数组)或解密成功但是前6个字符并非之前设置的标记位,则证明密码不正确.如果解密的字符串前6个字符与标记位相同,那么认定密码正确.通过这种方式,FishBone并没有存储您的密码信息(也不需要关心您的密码信息)就完成了密码的校验.
Content=AES.Decrypt(encryptedContentContent,Password) Content.startwith("#Flag#")?
- 如果这个Paste是带有密码的
阅后即焚
,那么FishBone从服务器取回的还有加密的encryptedToken
.当认定密码正确后,FishBone会接着使用这个密码来解密encryptedToken
,并开启30s的阅后即焚倒计时.如果没有被取消,30s后会使用解密获得的Token
向服务器请求删除. 但是请注意,如果阅后即焚的Paste没有密码,那么当Paste显示出来时就已经删除了.
你可能会担忧: 服务器实际上存储了
token
与encryptedToken
的明文-密文对
,可以构造已知明文攻击 (Known-plaintext attack)
.但是实际上大可不必担心,有数据表明,对于256bit AES加密,使用已知明文攻击的平均尝试次数约为$$ 2^{125}$$,实际上并没有比暴力破解的$$2^{127}$$好多少.因此有人认为
AES可以抵抗已知明文攻击
.当然,最最重要的一点在于,从一个密文对中猜测加密规则的成功率本身就微乎其微.因此,您的Paste仍安然无虞.
FAQ
为什么叫
FishBone
?没有什么特殊的意义,实际上比名字更先找到的是项目的Logo↓,于是就命名为
鱼骨头
了(或者叫鱼刺
--Up to you.)
FishBone
的Forever
选项是什么?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进行审查或对提交者进行追踪.- 这个项目会维持多久?
很抱歉,但是这只是个测试项目,可以预见的是不会很久.同时本站也很难对数据的可用性负责,删库跑路也是很有可能的事情.不要对它(或者我)有太高期望,否则还是
另请高明吧
- 我有建议.
请在下面评论或发送邮件.感谢您做的一点
微小的贡献
支持!