Skip to content

chenjia404/hardbin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipfs加密记事本.

世界上最安全的加密记事本,保证 *

ipfs记事本是一个加密的 pastebin,其解密密钥在 URL 片段中传递,代码和数据通过 IPFS 安全地提供。(IPFS 是一个与网络兼容的分布式内容寻址存储系统;它基本上是网络版的 bittorrent)。

与传统的加密 pastebin(例如 ZeroBin)相比,当通过受信任的网关使用时,代码和数据都无法修改,因为内容哈希值由 IPFS 进行加密验证。这意味着服务器操作员不可能插入恶意代码来窃取明文或解密密钥。这是完美的加密 pastebin。

(* 这不是保证)

特性

  • 完全去中心化部署
  • 支持自定义密码,支持使用中文密码
  • 支持markdown,显示图文内容
  • 支持自定义api、网关

原理

在页面把文本通过aes加密后,上传到ipfs,然后生成通过 location.hash 传值的新链接,新链接发送给朋友后,前端解析 location.hash 或者加密内容的哈希,然后去 ipfs 网络获取加密的内容,然后通过 location.hash 里面的密码解密输入。

安全性

上传到ipfs的文本都是aes加密的,如果没有解密密码是很难破解的,解密密码和加密内容哈希都是通过 location.hash 传递了,服务器或者网络运营商都无法记录。

使用方法

打开页面后,自由的输入你想分享的文本,然后点击发布,等1-5秒不等,页面自动跳转,打开一个新窗口,弹窗提示你分享链接。

支持自定义api、网关、密码,支持使用中文密码。

可以分享一个不带密码的链接给别人,用户自行输入密码。

部署指南

必须上传到ipfs,在一个公共网关下面运行,因为默认获取加密是调用网关下面的路径,这里你可以自己修改。

自托管

你可以按如下方式“自行托管” ipfs记事本:

git clone https://github.com/chenjia404/hardbin
ipfs add -r hardbin/

定制修改

如果您想使用任何自定义修改,您可以简单地进行修改,使用 在 IPFS 上发布您的新代码ipfs add,然后它就可以使用了。它与此 git repo 中的版本一样是一等公民,同样欢迎您通过公共可写网关访问它。

当然,对于可能对其他人有用的改进,我们总是欢迎提出拉取请求。

js\hardbin.js 27行可以修改为你自己的接口。

安全注意事项

您仍然需要安全地共享粘贴 URL,否则第三方可以像其他任何人一样轻松地读取它。

在创建粘贴时,您需要确保使用已知良好的代码版本,因为创建看起来相同的恶意版本是微不足道的。最好的做法是第一次使用时记下哈希值,并始终使用相同的哈希值。如果您想升级到新版本的软件,则需要更新哈希值。

如果您不使用本地(或其他受信任的)IPFS 网关,那么网关服务器操作员可以执行传统加密 pastebin 操作员可以执行的所有相同攻击。

我不建议将 ipfs记事本 用于高度关键的内容,因为除了我之外,没有人彻底审核过代码。如果您想审核它,请联系我。

体验一下

http://ipfs.io/ipfs/QmeWNXWbeVw7u9kcekpB3v3JmezAdAKRQ1oLABUNc7dk4w

https://ipfs.blockframe.io/ipfs/QmeWNXWbeVw7u9kcekpB3v3JmezAdAKRQ1oLABUNc7dk4w/

https://eth.sucks/ipfs/QmeWNXWbeVw7u9kcekpB3v3JmezAdAKRQ1oLABUNc7dk4w/

About

Encrypted pastebin using IPFS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 75.6%
  • HTML 21.4%
  • CSS 3.0%