就像Snapchat…密码。

snappass的Python项目详细描述


Latest version released on PyPIBuild status

就像Snapchat…密码。

这是一个让你安全共享密码的web应用。

假设你有密码。你想把它给你的同事,简。 你可以发邮件给她,但那是在她的邮件里,可能有备份, 可能在国安局控制的某个存储设备里。

你可以在聊天时把它发给她,但有可能简会把所有的信息都记录下来 因为她使用google hangouts聊天,google hangouts聊天可能会记录下所有内容。

你可以写下来,但是你找不到笔,而且有太多 因为你的保安保罗是个偏执狂。

所以我们建立了SnapPass。没那么复杂,只有一件事。如果 简得到一个密码的链接,但从不看它,密码就消失了。 如果国家安全局得到了链接,他们看了看密码…嗯 有密码。而且,简不能得到密码,但现在简知道了 不仅有人在查看她的电子邮件,他们还在点击链接。

不管怎样,我们花了很少的时间来写,但我们想我们可以帮你 很难自己写,因为也许你很忙,还有其他事情 去做。享受吧。

安全性

密码通过cryptography库中的Fernet对称加密进行加密。 为每个密码生成一个随机的唯一密钥,并且从不存储; 它相当于作为密码链接的一部分发送。 这意味着即使有人可以访问redis存储,密码仍然是安全的。

要求

  • redis
  • python 2.7+或3.4+(均包含)

安装

$ pip install snappass
$ snappass
* Running on http://0.0.0.0:5000/
* Restarting with reloader

配置

您可以通过环境变量配置以下内容。

SECRET_KEY:用于签名密钥的唯一密钥。这应该 保守秘密。有关详细信息,请参见Flask Documentation

DEBUG:以调试模式运行Flask Web服务器。有关详细信息,请参见Flask Documentation

STATIC_URL:这应该是静态资产的位置。你可能不会 需要改变这个。

NO_SSL:如果不使用ssl。

REDIS_HOST:这应该由redis设置,但是如果需要,可以重写它。默认为"localhost"

REDIS_PORT:是redis服务的端口,默认为6379

SNAPPASS_REDIS_DB:是要在此redis服务器上使用的数据库。默认值为db 0

REDIS_URL:(可选)将用于配置redis客户端对象,而不是REDIS_HOSTREDIS_PORTSNAPPASS_REDIS_DB。例如:redis://username:password@localhost:6379/0

REDIS_PREFIX:(可选,默认为"snappass")前缀,用于redis密钥,以防止与其他潜在客户端发生冲突

码头工人

或者,您可以使用DockerDocker Compose来安装和运行snappass:

$ docker-compose up -d

这将拉取所有依赖项,即redis和适当的python版本(3.7),然后启动snappass和redis服务器。SnapPass服务器可在以下位置访问:http://localhost:5000

我们在招聘!

你真的对开源和优秀的软件工程感到兴奋吗? Pinterest是hiring

学分

“SnapPass”最初是由Owen Coutts和Ryan Park编写的。

目前由Pinterest的Nicholas Charriere和Yongwen Xu维护。

非常感谢您的贡献:

  • 欧文
  • Ryan Park
  • 徐永文
  • 尼古拉斯·夏里埃
  • 塞缪尔·迪翁·吉拉多
  • 詹姆斯w索恩
  • 布兰登·戴维斯
  • 约瑟夫·博伊图
  • 卡洛斯·莫雷诺
  • 唐尼·温斯顿
  • 詹姆斯·巴克莱
  • 托马斯·德科
  • 劳里·鲁比

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring框架服务单元测试   在Java中遍历hashmaps的hashmap以检索字符串值   如何使用CodeQL检查Java注释是否具有特定属性?   java为什么在Spring Boot中访问此资源而不是登录弹出窗口需要始终获得完全身份验证   处理将多集计数转换为列表的过程   java另一个线性布局,没有出现按钮   eclipse Java映像加载未显示在jar中   java Junit类无法加载基本测试类ApplicationContext   java如何在main中使用my getvalues()方法打印列表   java Sonar,S128:切换案例应该以无条件的“中断”语句结束,而不是继续   java从socket读取字符串错误连接重置错误   java使用新数据刷新任意图表饼图   java通过异步运行lambda访问方法参数   java错误的结果一旦我处理try and catch